古いコードをself.attribute_id:Railsの3.1にcreate_attributeは前に3.1が設定されていないレールに保存Railsの3.0で働いて、
belongs_to :primary_stream
before_save :autocreate_primary_stream, :if=>lambda {|a| a.primary_stream.nil?}
def autocreate_primary_stream
self.create_primary_stream()
end
: self.primary_stream
人口、およびself.primary_stream_id
はnilになっています。レコードが保存されると、primary_stream_idはデータベースにnilとして保存されます。
私は私が期待する動作を得るために、これを実行しなければならなかった:
belongs_to :primary_stream
before_save :autocreate_primary_stream, :if=>lambda {|a| a.primary_stream.nil?}
def autocreate_primary_stream
self.create_primary_stream()
self.primary_stream_id = primary_stream.id
end
は何かが変わったのか、私は非常に愚かな何かを行っていますか?
accept_nested_attributes_forを使用しましたか? – rtdp
彼はネストされた属性を割り当てていないので、それが適切かどうかはわかりません –