我跟隨railscast 196.我有兩個級別的關聯。應用程序 - >表單 - >問題。這是表單控制器中的新操作。Rails 3 - 構建不保存到數據庫(Railscast 196)
def new
@app = App.find(params[:app_id])
@form = Form.new
3.times {@form.questions.build }
end
視圖中顯示所有3個問題很好,我可以提交表單...但沒有被插入到數據庫中的問題。這是我創造的動作
def create
@app = App.find(params[:app_id])
@form = @app.forms.create(params[:form])
respond_to do |format|
if @form.save
format.html { redirect_to(:show => session[:current_app], :notice => 'Form was successfully created.') }
format.xml { render :xml => @form, :status => :created, :location => @form }
else
format.html { render :action => "new" }
format.xml { render :xml => @form.errors, :status => :unprocessable_entity }
end
end
end
這裏是發送到我的創建方法PARAMS:
{"commit"=>"Create Form",
"authenticity_token"=>"Zue27vqDL8KuNutzdEKfza3pBz6VyyKqvso19dgi3Iw=",
"utf8"=>"âœ「",
"app_id"=>"3",
"form"=>{"questions_attributes"=>{"0"=>{"content"=>"question 1 text"},
"1"=>{"content"=>"question 2 text"},
"2"=>{"content"=>"question 3 text"}},
"title"=>"title of form"}}`
這表明PARAMS都被正確發送......我想。問題模型只有一個「內容」文本列。
任何幫助表示讚賞:)
雖然這適用於將外鍵正確設置到app_id窗體表格中,但問題仍然未保存。 – Msencenb 2011-06-05 21:05:07