昨日、4択問題の投稿機能がrailsで実装可能かを質問しました。
そこで、UsermodelとQuizmodelを作成し、それらをbelongs_to: user と has_many:quizesで関連づけ、
quizes/show.html.erb <%= form_with(model: @quiz, local: true) do |f| %> <%= f.label:question%> <%= f.text_field:question, class: 'form_control' %> <%= f.label:choice_1%> <%= f.text_field:choice_1, class: 'form_control' %> <%= f.label:choice_2%> <%= f.text_field:choice_2, class: 'form_control' %> <%= f.label:choice_3%> <%= f.text_field:choice_4, class: 'form_control' %> <%= f.label:choice_4%> <%= f.text_field:choice_4, class: 'form_control' %> <%= f.select :answer, {'1': 1, '2': 2,'3':3,'4':4}, { include_blank: '解答を選択してください'}, { class: 'form-control' , required: true } %> <%= f.submit "問題を作成", class: "btn btn-primary" %>
として、
def show @quiz = current_user.quizes.build if logged_in? end def create @quiz = current_user.quizes.build(quiz_params) if @quiz.save flash[:success]='クイズの投稿に成功しました。' redirect_to current_user else flash[:danger]='クイズの投稿に失敗しました。' #renderにするとnilerrorが発生する。 redirect_to quizes_path
とすると
NameError in QuizesController#show uninitialized constant User::Quize Extracted source (around line #8):
とエラーが出てしまいます。
has_manyとbelong_toで関連づけるとquizesメソッドが使えるようになると解釈していたのですが、どのようにすれば改善できるでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。