2015-10-04 46 views
1

更新和創建2個模型我正在使用rails cast 196(http://railscasts.com/episodes/196-nested-model-form-revised?autoplay=true)來幫助我對我的項目,我試圖修改代碼,以便當我提出一個新問題時,我能夠更改調查題目的形式。現在的形式提交,但不進行任何更改到調查的標題製作的分貝rails更新和創建一個form_for

class Survey < ActiveRecord::Base 
    has_many :questions 
end 

我感動從調查accepts_nested_attributes_for就問題的模型

class Question < ActiveRecord::Base 
    belongs_to :survey 
    accepts_nested_attributes_for :survey 
end 

我加了:標題(領域我想修改)的問題pramas

def create 
    @question = Question.new(question_pramas) 
end 

def question_pramas 
    params.require(:question).permit(:content, survey_attribute: :title) 
end 

查看

<%= form_for(@question) do |f| %> 
    <%= f.fields_for :surveys do |builder| %> 
    <%= builder.label :title %> 
    <%= builder.text_field :title, class: 'form-control' %> 
    <% end %> 
    ... 
+0

是該問題發生在創建或更新? – Pavan

回答

2

它看起來像你需要改變你的question_prams方法來指定「survey_attribute s」。

def question_pramas 
    params.require(:question).permit(:content, survey_attributes: [:title]) 
end 
+0

更改後仍不更新數據庫 – felix

+0

您可以分享服務器日誌中的post/put參數嗎? –

1

爲了進一步Tom Fast的回答,您還需要得到你的名字關聯的正確排序:

<%= f.fields_for :survey do |builder| %> 
    <%= builder.label :title %> 
    <%= builder.text_field :title, class: 'form-control' %> 
    <% end %> 

#app/controllers/questions_controller.rb 
class QuestionsController < ApplicationController 
    def question_params 
     params.require(:question).permit(:content, survey_attributes: [:title]) 
    end 
end 
+0

當我改變時,文本字段不再可見:調查到:調查 – felix

相關問題