我很难以深度嵌套的形式访问fields_for对象的关联方法。 你能帮我了解我哪里出错了吗?
机会模型:
class Opportunity < ActiveRecord::Base
has_many :seedlings
accepts_nested_attributes_for :seedlings
end
苗木模型:
class Seedling < ActiveRecord::Base
belongs_to :opportunity
belongs_to :potential_building
accepts_nested_attributes_for :potential_building
end
潜力构建模型:
class PotentialBuilding < ActiveRecord::Base
has_many :seedlings
end
我希望我能在hidden_field旁边写下potential_building的名字,但我显然不明白一些事情。 我可以将potential_building_id写入页面,如下所示(Haml):
...
= opportunity_form.fields_for :seedlings do |seedling_form|
= seedling_form.hidden_field :potential_building_id
= seedling_form.object.potential_building_id # => 73
....
我希望访问协会的方法会像这样简单,我不明白为什么不这样做。
...
= opportunity_form.fields_for :seedlings do |seedling_form|
= seedling_form.hidden_field :potential_building_id
= seedling_form.object.potential_building.name # => undefined method `name' for nil:NilClass
...
你能帮我理解吗?谢谢。
class Opportunity < ActiveRecord::Base
has_many :seedlings
accepts_nested_attributes_for :seedlings
end
http://currentricity.wordpress.com/2011/09/04/the-definitive-guide-to-accepts_nested_attributes_for-a-model-in-rails-3/