ビルド メソッドを拡張するか、子モデルに親モデルの属性を自動的に事前設定する別のメソッドを作成したいと考えています。
現在、毎回コントローラーでこれを行っています...
@event_log = @event.event_logs.build(
place_id: @event.place_id, quiz_master_id: @event.quiz_master_id,
start_at: Chronic.parse("#{params[:start_at]} #{@event.start_time}")
)
このロジックをモデルに移動したいと思います。
def self.auto_build
build(place_id: event.place_id, .....)
end
しかし、私はエラーが発生します..undefined method event
このモデルのみのビルドをオーバーライドする方法、または同様のメソッドを作成する方法がわかりません。
# File 'activerecord/lib/active_record/associations/builder/association.rb', line 11
def self.build(model, name, options)
new(model, name, options).build
end