嵌套形式,has_many 关系的空符号
nested form, empty symbol for has_many relationship
因此,在我将我们的应用程序从 rails 2 迁移到 3.2 之后,我为新的 class 实现了一个嵌套表单,效果非常好。
不幸的是,我无法使用已迁移的 class 进行同样的工作,这让我好几天都处于边缘状态。
父模型:
class Geodatensatz < ActiveRecord::Base
self.table_name = "GEODATENSATZ”
self.sequence_name = "GEODATENSATZ_SEQU"
attr_accessible :anwendungseinschraenkungs_attributes
has_many :anwendungseinschraenkung,
:dependent => :destroy
accepts_nested_attributes_for :anwendungseinschraenkung,
:reject_if => lambda { |a| a[:beschreibung].blank? },
:allow_destroy => true
童模:
class Anwendungseinschraenkung < ActiveRecord::Base
self.table_name = "ANWENDUNGSEINSCHRAENKUNG"
self.sequence_name = "ANWENDUNGSEINSCHRAENKUNG_SEQU"
attr_accessible :geodatensatz_id, :beschreibung, :index
belongs_to :geodatensatz
在视图中:
<%= form.fields_for :anwendungseinschraenkung do |builder| %>
<%= builder.text_area :beschreibung, :rows => 3 %>
<% end %>
我可以通过输入“@geodatensatz.anwendungseinschraenkung”得到所有的“anwendungseinschraenkung”,但是:anwendungseinschraenkung 似乎是空的。如果我调用@geodatensatz.anwendungseinschraenkung.build,将构造所有属性值都为“nil”的单个对象。
感谢您的帮助!
好的...所以一旦我从
<%= form_for :geodatensatz .....
至
<%= form_for @geodatensatz ....
显示 fields_for:)
我敢肯定,对ROR了解更多的人可以详细说明一下原因....
因此,在我将我们的应用程序从 rails 2 迁移到 3.2 之后,我为新的 class 实现了一个嵌套表单,效果非常好。
不幸的是,我无法使用已迁移的 class 进行同样的工作,这让我好几天都处于边缘状态。
父模型:
class Geodatensatz < ActiveRecord::Base
self.table_name = "GEODATENSATZ”
self.sequence_name = "GEODATENSATZ_SEQU"
attr_accessible :anwendungseinschraenkungs_attributes
has_many :anwendungseinschraenkung,
:dependent => :destroy
accepts_nested_attributes_for :anwendungseinschraenkung,
:reject_if => lambda { |a| a[:beschreibung].blank? },
:allow_destroy => true
童模:
class Anwendungseinschraenkung < ActiveRecord::Base
self.table_name = "ANWENDUNGSEINSCHRAENKUNG"
self.sequence_name = "ANWENDUNGSEINSCHRAENKUNG_SEQU"
attr_accessible :geodatensatz_id, :beschreibung, :index
belongs_to :geodatensatz
在视图中:
<%= form.fields_for :anwendungseinschraenkung do |builder| %>
<%= builder.text_area :beschreibung, :rows => 3 %>
<% end %>
我可以通过输入“@geodatensatz.anwendungseinschraenkung”得到所有的“anwendungseinschraenkung”,但是:anwendungseinschraenkung 似乎是空的。如果我调用@geodatensatz.anwendungseinschraenkung.build,将构造所有属性值都为“nil”的单个对象。
感谢您的帮助!
好的...所以一旦我从
<%= form_for :geodatensatz .....
至
<%= form_for @geodatensatz ....
显示 fields_for:)
我敢肯定,对ROR了解更多的人可以详细说明一下原因....