嵌套表格场

时间:2012-10-09 17:19:22

标签: ruby-on-rails-3.2

我使用了Ryan Bates的railscast教程来制作这个。但我遇到了一个问题,我试图跟随他的例子到T但没有运气。

第一部分是让我的Projects表访问问卷属性。

class Project < ActiveRecord::Base
 attr_accessible :pid, :name, :qheader, :questionaires_attributes
 has_many :questionaires
 accepts_nested_attributes_for :questionaires, allow_destroy: true

 pid_regex = /\d+/

 validates :pid, presence: true, format: { with: pid_regex}, uniqueness: true
 validates :name, presence: true
 # validates :qheader, presence: true

end

我为问卷调查模型做同样的事情,请忽略调查问卷拼写错误的事实,我已经到处检查过,以确保拼写相同。

class Questionaire < ActiveRecord::Base
 attr_accessible :content, :project_id
 belongs_to :project
end

然后我为view / projects

构建了new.html.erb
<%= form_for @project do |f| %>
 <%= render 'shared/error_msgs' %>
 <div class="field">
  <%= f.label :pid %><br />
  <%= f.text_field :pid %>
 </div>
 <div class="field">
  <%= f.label :name %><br />
  <%= f.text_field :name %>
 </div>
 <%= f.fields_for :questionaires do |builder| %>
   <%= render "questions", f: builder %>
 <% end %>

 <div class="actions">
  <%= f.submit "Add New Project" %>
 </div>
<% end %>

Ryan Bates表示,它的作用与我所看到的一致,

 <%= f.fields_for :questionaires do |builder| %>

应该是复数,但是当它是复数时,位于渲染部分中的字段集消失但是当问题是单数时它再次出现。但如果我提交它,它告诉我它不能大量分配给受保护的属性:问卷。

有谁能告诉我如何解决这个问题。

0 个答案:

没有答案