我是Rails开发的新手。我有两个模型,决策和选择。每个决策都有两个选项,在保存决策时应将其添加到Choices表中。我试图弄清楚如何使用Formtastic在Rails中做到这一点,但我已经碰壁了。
我看过有关嵌套表单的Railscast,并按照Formtastic GitHub网站上的文档进行操作,但我很茫然。这就是我所拥有的。
模特:
class Decision < ActiveRecord::Base
attr_accessible :title, :description, :user_id, :choices_attributes
belongs_to :user
has_many :choices, :dependent => :destroy
accepts_nested_attributes_for :choices
end
class Choice < ActiveRecord::Base
belongs_to :decision
end
在Decisions_Controller中:
def new
@decision = Decision.new
2.times do
@decision.choices.build
end
end
决定/新观点:
<% semantic_form_for @decision do |form| %>
<%= form.inputs :title, :description %>
<%= form.inputs :summary, :for => :choice %>
<%= form.buttons %>
<% end %>
我得到的是标题,描述和一个摘要(供选择)的表单字段。如何获得第二个选择并保存两个字段?
答案 0 :(得分:2)
使用:for => :choices
代替:for => :choice
,因为您要引用该关系的名称。
<%= semantic_form_for(@decision) do |form| %>
<%= form.inputs :title, :description %>
<%= form.inputs :summary, :for => :choices %>
<%= form.buttons %>
<% end %>