1
上に子レコードをロードするためのより良い方法:様々な状況でRailsの既存の親オブジェクト
class Effort < ApplicationRecord
has_many :split_times
end
は、私はインスタンス化の努力で終わると私はsplit_time.effort_id == effort.id
で新しいsplit_timesを作成します。私は努力オブジェクトを別のサービスに渡したいとき、努力のsplit_timesが失効していないことを確認しなければなりません。それはeffort.reload
で行うことができます。
しかし、私はsplit_times努力にロードしたい場合、私は自分自身がやって見つける:
effort = Effort.where(id: effort.id).eager_load(:split_times).first
を...ではないがないより良い方法がなければなりませんか?
あなたはで取得している本当にわからないのに役立ちます
希望を行うことができます。なぜもっと良い方法がなければならないのですか? –
http://guides.rubyonrails.org/association_basics.html#bi-directional-associationsおよびhttp://guides.rubyonrails.org/association_basics.html#has-many-association-reference(特にcollection.create)をご覧ください。 。たぶん、数回にわたってページ全体を読む... –
また、そのヘルプがあればscopeまたはdefault_scopeを見てください。 –