2011-01-18 28 views
1

当我使用accepts_nested_attributes_for时,相应的字段不再显示在我的视图中。acceptable_nested_attributes_for保持表单域不会显示

class Survey < ActiveRecord::Base 
    has_many :questions 
    accepts_nested_attributes_for :questions 
end 

class Question < ActiveRecord::Base 
    belongs_to :survey 
end 

然后在我的观点:

<%= form_for @survey do |f| %> 
    <%= f.fields_for :questions do |question_fields| %> 
    <%= question_fields.text_area :text %> 
    <% end %> 
<% end %> 

如果我删除accepts_nested_attributes_for那么text_area节目,但如果我把它...什么都没有得到呈现。

我运行的Rails 3.0.3

回答

4

您是否在控制器中构建了问题?

喜欢的东西

@survey.questions.build

这将构建一个相关的问题,所以只有一个文本区域会显示出来。它运行在一个循环中像

2.times { @survey.questions.build }

它会出现2次。

1

是否要创建新的问题,或者是你中编辑呢?如果您正在为此调查创建新问题,则可能需要尝试以下内容:

 
<= f.fields_for @survey.questions.build do |question_fields| %>