Cod*_*ang -1 ruby-on-rails nested-attributes
我下面这个RailsCast约Nested Model Form的事,但似乎不可思议.
这是Model关系
class Question < ActiveRecord::Base
belongs_to :survey
end
class Survey < ActiveRecord::Base
has_many :questions
accepts_nested_attributes_for :questions
end
Run Code Online (Sandbox Code Playgroud)
_form.html.erb(由创建者scaffold)
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<% f.fields_for :questions do |builder| %>
<div class ='question'>
<%= builder.label :content, "Question" %>
<br>
<%= builder.text_area :content, :rows => 3 %>
</div>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
survey_controller.rb
# GET /surveys/new
def new
@survey = Survey.new
3.times do |i|
@survey.questions.build
end
end
Run Code Online (Sandbox Code Playgroud)
我期待它会显示出来
但是,它没有显示3个问题块.
你错过了表格中一个非常小但很重要的部分 - 实际输出了这个f.fields_for电话.
您需要调用<%= f.fields_for :question(注意=)实际输出生成的表单.