2016年12月12日のブックマーク (15件)

  • Railsで複雑な検索条件を簡単に実装できるGem Ransack - 酒と泪とRubyとRailsと

    Railsで検索機能を提供する場合に、複雑な条件の組み合わせを実装する時に便利なGem、『Ransack』を紹介たいと思います!

    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “Prefixをつければ関連テーブルも含めて検索出来ます。 1 2 @products = Product.search(maker_name_cont: "hoge").result #=> SELECT `products`.* FROM `products` LEFT OUTER JOIN `maker` ON `maker`.`id` = `products`.`maker_id` WHERE (`maker`.`name` LIKE '%hog”
  • Ransackのススメ - Qiita

    Railsアプリで検索機能を実装するケースは非常に多いと思います。 簡単な検索であればwhereとLIKEを使って書けますし、やや複雑なものもeverywhereが便利ですが、ここではもっと複雑な条件の組み合わせを実装する時に便利なransackを紹介します。 基 searchメソッドで条件を指定し、resultメソッドで結果を返します。 resutはActiveRecord::Relationを返すので、SQLは普通のActiveRecord同様遅延評価されますし、さらにwhereを繋げたり、kaminariでページングしたりすることもできます。また、to_sqlで発行されるSQLを確認することもできます。 もう少し詳しく書くと、searchはModelまたはActiveRecord::RelationをレシーバにしてRansack:Searchを返し、Ransack:search#r

    Ransackのススメ - Qiita
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “関連モデルの検索 関連先を条件に含めることができます。 Item.search(:comments_body_cont => 'ほげ').result.to_sql # => "SELECT `items`.* FROM `items` LEFT OUTER JOIN `item_comments` ON `item_comments`.`item_id` = `items`.`id”
  • bool型変数名、プロパティ名の命名規則

    bool型でよく使われる命名規則にis(~か)、can(~できるか)、has(~をもつか)から始めるというものがあります。

    bool型変数名、プロパティ名の命名規則
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “「isEmpty」、「canExecute」、「hasChildren」などと命名すると、trueが何を意味するのかが明確です。”
  • How to group collection by columns with rails

    My table named stocks contains product_id, color_id, storage_id and in_stock as columns. For a given product I want to group all stocks by storage, then for each storage I want to show product (color): in_stock How should I write a method and how to render?

    How to group collection by columns with rails
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “Stock.all.group_by(&:storage).each do |storage, products|”
  • Railsで *_url(例: post_url)がデフォルトでhttpsになるようにする - Qiita

    class ApplicationController < ActionController::Base # 番環境だけ変更 def default_url_options Rails.env.production? ? { protocol: :https }.merge(super) : super end end Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Railsで *_url(例: post_url)がデフォルトでhttpsになるようにする - Qiita
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “{ protocol: :https }”
  • Rails: action_mailer.default_url_optionsでHTTPSを指定する方法 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Rails: action_mailer.default_url_optionsでHTTPSを指定する方法 - Qiita
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “:protocolオプションで指定すると、メール本文のURLがhttpsになります。 config.action_mailer.default_url_options = { :host => 'example.com', :protocol => 'https'}”
  • ActionMailerのURLをサブドメインに対応させる | 自転車で通勤しましょ♪ブログ

    Railsを使っていても実はメールを使うようなところを担当したことがなかったので今更ActionMailerについて勉強中です。 ActionMailerの設定はenvironments/(production|development|test).rbとか、もしくはapplication.rbに書くのでしょうが、普通はenviroments以下だと思います。こんな感じですね。 config.action_mailer.default_url_options = { host: 'localhost:3000' } config.action_mailer.default_url_options = { host: 'example.com' } しかしですね、いろんな環境でお試しで動かしたい場合があると思うんですよ。ステージングとか。デモとか。 そういうときにどういう風にすればいいのか。

  • ngrokを使って外部からローカルサーバを閲覧可能にする手順(Windows 7用)

    ngrokを使って外部からローカルサーバを閲覧可能にする手順(Windows 7用) Web2016年8月17日 作業マシンのローカルサーバを出先で見せたい場面があり、どうにかできないか試行錯誤していたところ、トンネリングサービス「ngrok」がとても便利だったのでご紹介いたします。 具体的にはテストサーバへのファイルアップが面倒だったり、テストサーバ自体が無い状況で開発中のサイトを共有したい場合において、ngrokを使うことでローカルサーバをLANを超えて閲覧させることが可能になります。 ダウンロード 以下のページより、ご自分のマシンに合ったファイルをダウンロードしてください。 ngrok ダウンロードしたファイルを解凍し、ngrok.exeをローカルサーバのルートフォルダに格納します。 D:hogengrok.exe ngrokを起動 ngrok.exeをダブルクリックで起動すると、コ

    ngrokを使って外部からローカルサーバを閲覧可能にする手順(Windows 7用)
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “なお、この乱数URLは毎回ngrokを起動するたびに変わります。 固定のサブドメインで閲覧したい場合は、ngrokにサインアップして有料プランを申し込む必要があります。”
  • ActionMailerでHelperを呼び出すとエラーになる - Qiita

    ArgumentError: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true

    ActionMailerでHelperを呼び出すとエラーになる - Qiita
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “default_url_optionsのhostを指定する config.action_mailer.default_url_options = { host: 'localhost:3000' }”
  • MVP - Wikipedia

    MVP(えむぶいぴー) 最優秀選手 (曖昧さ回避) (Most Valuable Player) 野球 最優秀選手 (日プロ野球) 最優秀選手 (MLB) 最優秀選手 (KBO) 最有価値球員 (CPBL) サッカー バロンドール FIFA最優秀選手賞 ザ・ベスト・FIFAフットボールアウォーズ UEFA欧州最優秀選手賞 プレミアリーグ年間最優秀選手 PFA年間最優秀選手賞 FWA年間最優秀選手賞 最優秀選手賞 (Jリーグ) その他スポーツ 最優秀選手 (Bリーグ) 最優秀選手 (ボクシング) 最優秀選手 (NBA) 最優秀選手 (NFL) ハート記念賞 その他 僧帽弁逸脱症(英語版) (Mitral Valve Prolapse) 最小存続可能個体数 (Minimum Viable Population) 実用最小限の製品 (Minimum Viable Product) Micros

    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “実用最小限の製品 -Minimum Viable Product”
  • Why is Ruby on Rails secrets.yml not loading?

    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “I've faced a similar problem once, try to reload spring server with bin/spring stop, so the changes to secrets.yml should take effect. then run rails c again. (posting comment as a answer).”
  • おいちゃんと呼ばれています

    Mac mini 2023 を購入して半年ほど経った。 これまでは Mac mini 2018 を使っていて、それと比較すると特に CPU を使用するタスクにパフォーマンスの差を感じるのでメモを残しておく。 Mac mini 2018 で抱えていた問題 これまで使っていた Mac mini 2018 で Web アプリケーションのフロントエンド開発をするうえで、下記のような問題を抱えていた。 Node.js を用いたビルドやテストの実行に時間が長くかかる Figma や iOS シミュレーターを起動していると CPU 使用率が 100% になって動作が遅くなる Before)Mac mini 2018 CPU: 3GHz 6コア Intel Core i5 GPU: Intel UHD Craphics 630 1536MB メモリ: 32GB 2667 MHz DDR4 After)Ma

    おいちゃんと呼ばれています
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “つまり、Webpack の本質とは次の 2点である。 (1) コードを(巨大なひと塊のファイルにするのではなくて)複数の塊(チャンク)に分割し、それらを必要になってからロードするようにすることで、初期ロードにかかる時間
  • データベースの適切な選択のために

    もはや、どのようなアプリケーションにも必須と言っても過言ではないデータベース。 システムで採用するデータベースの選択は、悩みどころのひとつです。 今回は、db-engines.comのDB-EnginesRankingを参考に、世界シェア上位からいくつか抜粋してご紹介したいと思います。 データベースの特性を知る 当然ですが、データベースの種類ごとに異なる特性があります。後々の開発に失敗しないためには、どれにどんな特性、特徴があるかを知っておかなければなりません。 RDBMS (Relational DataBase Management System) 言わずとしれた最もポピュラーなDBSQL文といった専用の簡易言語を使うことで、複雑なデータ取り出しを可能にしたほか、トランザクション制御により、テーブル間の整合性を保つことを得意としています。 RDBMSの代表的なソフトウェア Oracl

    データベースの適切な選択のために
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “世界に数多くあるデータベースは様々な特性を持っており、的確に使えば非常に強力な基盤となってくれますが、反面、使い方を誤ればたちまちシステムを汚染する毒と化します。 データベースソフトウェアは、アーキ
  • 第5回 Elasticsearch 入門 Elasticsearch の使いどころ | DevelopersIO

    今回は少し、思考を変えてシステムを開発する際にどんなところで Elasticsearch を使えるのか?という視点で説明したいと思います。 最近のシステムの特徴 最近のシステムは、ビッグデータの重要性の認知、ソーシャルデータの活用など、1つのシステムでも様々な種類のデータを管理し活用するようになってきました。また、クラウドサービスやオープンソースが当たり前に使われるようになり、データを管理し活用するためのシステムやサービスも様々な選択肢があります。 そのため、最近のシステムではデータの利用目的によってデータストアを使い分けることが多くあります。 例えば、商品情報など構造化されたデータは、ビジネス要件を満たすためにデータを矛盾なく永続化する必要があるため、MySQL などのリレーショナル・データベースに保存されます。 また、更新や参照トラフィックが多くデータ数も多いゲームやモバイルアプリケー

    第5回 Elasticsearch 入門 Elasticsearch の使いどころ | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “例えば、商品情報など構造化されたデータは、ビジネス要件を満たすためにデータを矛盾なく永続化する必要があるため、MySQL などのリレーショナル・データベースに保存されます。 また、更新や参照トラフィックが多
  • 【MongoDB】初めてでも分かる!MongoDB入門(前編) | ヘッドウォータースのブログ TechNote

    【MongoDB】初めてでも分かる!MongoDB入門(前編) | ヘッドウォータースのブログ TechNote
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “RDBでは,高トラフィックなWebシステムのバックエンドという箇所では,性能の限界があると考えられるようになってきました。その結果,RDBでは性能に限界がある適用箇所にNoSQLを補完することによって補おう,という流