2011-07-14 41 views
1

我是Rails開發新手。我有兩個模型,決策和選擇。每個決策都有兩個選擇,當保存決策時應該將其添加到Choices表中。我試圖找出如何使用Formtastic在Rails中做到這一點,但我打了一堵牆。如何在Rails 3的表單中使用多個模型?

我看過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

如何循環瀏覽@ decision.choices?像@ decision.choices.each do | choice | form.inputs:summary etc等 – corroded

+0

使用這種方法,選擇不會在提交時保存。 –

+0

什麼在你的控制器? – corroded

回答

2

使用:for => :choices而不是:for => :choice,因爲您要引用的關係的名稱。

<%= semantic_form_for(@decision) do |form| %> 
    <%= form.inputs :title, :description %> 
    <%= form.inputs :summary, :for => :choices %> 
    <%= form.buttons %> 
<% end %> 
+1

該死的,漂亮的接吻!我有點尷尬,但這發生在我們所有人身上。謝謝您的幫助。 –

相關問題