我有一個工作用戶表。 我已經生成使用新表:Rails:引用新模型引發錯誤
rails generate model quiz_answers
..和運行耙分貝:遷移
我CreateQuizAnswers遷移文件看起來像這樣:
class CreateQuizAnswers < ActiveRecord::Migration
def change
create_table :quiz_answers do |t|
t.references :user, index: true
t.string :answer1
t.string :answer2
t.string :answer3
t.string :answer4
t.string :answer5
t.string :answer6
t.string :answer7
t.string :answer8
t.timestamps
end
end
end
我有一個quiz_answer模式:
class QuizAnswer < ActiveRecord::Base
belongs_to :user
end
和QuizAnswersController:
class QuizAnswersController < ApplicationController
def new
@user = current_user
@quiz_answer = current_user.quiz_answer.build
end
private
def post_params
params.require(:quiz_answer).permit(:body, :user_id)
end
end
我已經加入:quiz_answers爲編輯在routes.rb中
資源問題:
那麼,爲什麼當我嘗試建立一種形式(用設計)做我爲...提供錯誤「未定義的方法體」(此處參考QuizAnswer)「?我有另一個模型'Post',它不會產生這個錯誤,也沒有'body'屬性。
在那裏我試圖建立表單的頁面是家庭/ whattypeofleader.html.erb,在routes.rb中我有:
get "whattypeofleader" => "home#whattypeofleader"
在我的HomeController我有:
class HomeController < ApplicationController
def index
end
def whattypeofleader
@user = current_user
@quiz_answer = current_user.quiz_answer.build
end
end
我該怎麼做錯了?任何幫助拼命感謝,謝謝。
哦,如果你需要它,這裏的表單代碼,部分是獲取whattypeofleader「渲染」:
<%= form_for([current_user, @quiz_answer]) do |f| %>
<p>
<%= f.text_area :body, :autofocus => true , :class => "elearning-input"%>
</p>
<p>
<%= f.submit("Save entry") %>
</p>
<% end %>
您是否在用戶模型中添加了has_many關聯? – Mandeep 2014-10-03 08:49:25
我有has_many:用戶的quiz_answers。rb – moosefetcher 2014-10-03 08:50:59
@moosefetcher然後你想'current_user.quiz_answers.build' - 多元化 – 2014-10-03 08:51:38