嵌套形式,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了解更多的人可以详细说明一下原因....