关联信息没有在Rails 4中显示?

时间:2016-07-15 19:57:56

标签: ruby-on-rails ruby-on-rails-4 model-view-controller associations

current_user有一个测验,其中有1到5个问题,在此处输入:

<%= form_for @quiz do |f| %>
            <div class="field"> <!-- question 1 name -->
                <%= f.label :q1, "What will be your first question?", :class => "edit_labels", :maxlength => 10 %>
                <%= f.text_field :q1, :placeholder => "Question 1",  :style => "text-align: center" %>
            </div>
,,,,
在控制器中创建的

形式发生
def landing
@quiz = Quiz.new
end
测验控制器中的

def edit
@quiz = Quiz.find(params:[id])
end

def create
@quiz = current_user.build_quiz(quiz_params)
if @quiz.save
  flash[:success] = "Updated"
  redirect_to '/'
else
  render 'new'
end
end

def quiz_params
  params.require(:quiz).permit(:q1, :q2, :q3, :q4, :q5)
end

 def show
 @quizzes = Quiz.all
 end

现在,当我尝试显示用户时:

 /users/index.html.erb
 <%= render @users %>

和部分:

  /users/_user.html.erb
   <%= user.username %>
   <%= user.quiz.q1 %>
   etc...more fields

它可以生成用户名,但不适用于quiz.q1 具体来说,我得到

undefined method `q1' for nil:NilClass

但如果我输入

<%= current_user.quiz.q1 %>

在'welcome / landing.html.erb'中,它会产生正确的结果。

我非常感谢一些帮助。谢谢。

0 个答案:

没有答案