0

與此railscast類似,我試圖爲嵌套屬性創建表單。在我的應用程序中,節點可能附帶有問題。我希望一個表單能夠爲節點和問題設置屬性。這是在模型中定義:如何從嵌套窗體正確創建嵌套屬性項?

node.rb

... 
has_many :questions 
accepts_nested_attributes_for :questions 

我不知道究竟是如何創造條件,接受提問的方式。這是它目前:

<%= f.fields_for @node.questions do |builder| %> 
    <%= render 'question_form', f: builder %>  
    <% end %> 

問題形式然後呈現相關的領域。

節點控制器目前依靠屬性被傳遞,雖然正確: nodes_controller.rb

def new 
@node = current_user.nodes.build 
//also tried building a question 

def create 
@node = current_user.nodes.new(params[:node]) 
@node.save... 
//anything else needed? 

如何獲取的形式成功地創建問題嗎?

回答

0
@node = current_user.nodes.new(params[:node]) 

應該

@node = current_user.nodes.create(params[:node]) 

假設CURRENT_USER變量初始化,您標記的所有屬性的形式被保存爲「質量分配」使用attr_accessible,它應該工作

請注意,new方法只是創建一個對象而不將其保存到數據庫。 create將其保存到數據庫。

+0

對不起,我在下面的代碼,我更新了上面。節點被創建,而不是問題。 – 2012-07-27 15:52:51

+0

請添加您的控制器正在獲取的請求params(您應該將它們放到您的development.log文件或服務器控制檯中,以便執行'create'動作的請求。 – 2012-07-27 17:12:54