n+1問題対応でincludesを書くときに色々と悩んだのでメモ。 例えば下記のようなテーブル構造だった場合。 teams | players -- | | countries types | translations includesはこんな感じで記載する。 Team.includes(players: )
![【Ruby On Rails3】 複数のテーブルのincludesを書く! | approad](https://cdn-ak-scissors.b.st-hatena.com/image/square/b4ca54f93126d6f6e8ca1dc3b6633ec5da8a01d6/height=288;version=1;width=512/http%3A%2F%2Fhbb.afl.rakuten.co.jp%2Fhgb%2F%3Fpc%3Dhttp%253A%252F%252Fthumbnail.image.rakuten.co.jp%252F%25400_mall%252Fbook%252Fcabinet%252F6638%252F9784774146638.jpg%253F_ex%253D128x128%26m%3Dhttp%253A%252F%252Fthumbnail.image.rakuten.co.jp%252F%25400_mall%252Fbook%252Fcabinet%252F6638%252F9784774146638.jpg%253F_ex%253D80x80)
以下(Sorce:)のURLを参考にRails3のサンプルアプリを実装してみました。 まずはscaffoldでカテゴリとサブカテゴリを作成します。 $ rails g scaffold category name:string code:string available:boolean $ rails g scaffold sub_category category_id:integer name:string code:string available:boolean jQueryを使いたいので、Gemfileに一行追加して gem 'jquery-rails' jquery-railsのインストールとマイグレーションを実行します。 $ bundle install $ rails g install:jquery $ rake db:migrate モデルの関連付け app/model
Mongoid::Document は、embeds_one, embeds_many, embedded_in といった、ActiveRecord スタイルの3つのマクロを通して、他のドキュメントに対して関連を設定することができます。関連を設定すると、1つのドキュメントが他のすべてのドキュメントのルートになり、全ての関連付けられたオブジェクトはルートドキュメントに埋め込まれます。リレーショナルな関連はこれらのマクロでは設定できません。後述するリレーショナルな関連の項を見てください。 先の例の Person モデルが、他のドキュメントと関連する場合を考えてみましょう。 app/models/person.rb: class Person include Mongoid::Document field :first_name field :last_name embeds_one :addr
Mongoid は、データベースのドキュメントの問い合わせに、2種類のスタイルをサポートします。最初のスタイルは、ActiveRecord風の、ファインダー/動的なファインダーの構文です。2つ目のスタイルは、Mongoid の Criteria API を使った推奨メソッドです。(訳注: 2つ目は Rails 3 の Arel 風です。) ファインダー ファインダーはドキュメントのクラスメソッドです。データベースのオブジェクトを探索するのに、条件のハッシュか文字列を受け付けます。Document.all、Document.count、Document.find、Document.first、Document.last、Document.paginate があります。これらに加えて、アトリビュートが一致しない場合に、作成・初期化する、ファインダー兼作成構文があります。 与えられた条件に合う全
Devise の README は懇切丁寧だが、その分クソ長いので、読むのに疲れる。後続のために訳してみることにした。無保証。OAuth2 の部分は飛ばした。長いし。差し迫ったら訳します。 Devise Devise は Warden をベースにした Rails のためのフレキシブルな認証ソリューションです。 Rackベース Rails エンジンに基づいた完全な MVC ソリューション 1回の認証で複数のロールを持たせることができます あなたが必要な部分だけ使えるモジュラー構造というコンセプトに基づいています 以下の11のモジュールで構成されています: Database Authenticatable ユーザーがサインインする時に認証するためにパスワードをデータベースに暗号化し保存します。この認証は POST リクエストまたはBasic認証を通して行われます。 Token Authenti
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く