我有以下观点:
trap
以下# index.html.web
<h1>Listing answers</h1>
<%= will_paginate %>
<%= render [@answers]%>
<%= will_paginate %>
行动:
index
我得到以下错误信息:
def index
@question = Question.find(params[:question_id])
@answers = @question.answers.paginate(page: params[:page])
respond_with(@answers)
end
我该如何解决?
答案 0 :(得分:3)
你可以用两种不同的方式来做。
<%= render @answers %> OR
<%= render partial: 'answer', collection: @answers %>
在这两种情况下,您将在局部视图中获得名为“answer”的对象。
您必须在同一目录中存在名为“_answer.html.erb”的文件。
答案 1 :(得分:2)
当您传递collection of instances
呈现部分内容时,您不需要在实例周围放置任何方括号。
<%= render @answers %>
并且不要忘记创建视图名称_answer.html.erb
来源:http://guides.rubyonrails.org/layouts_and_rendering.html#passing-local-variables
答案 2 :(得分:1)
index.html.erb
<h1>Listing answers</h1>
<%= will_paginate @answers%>
<%= render @answers%>
<%= will_paginate @answers%>
必须有一个名为_answer.html.erb
的部分内容上面提到的行将循环调用带有answer对象的_answer.html.erb。