现在我有一个看起来像这样的rails部分:
<%= render :partial => "/talk/partials/comment", :collection => @comments, :locals => {:votes => @votes} %>
我传递了一组注释和另一个局部变量。
该评论部分直接使用comment
变量并且工作正常。
此后我又做了一个名为'/ talk / partials / comment_2014'的部分内容。当我尝试这个时,我收到错误undefined local variable or method 'comment'
。从我可以收集的内容来看,当我有一个不同的部分名称时,变量的内容也会发生变化。我想为新的部分''/ talk / partials / comment_2014'保留相同的comment
变量。我该怎么做呢?
我试过的不起作用的是以下内容:
<% @comments.each do |comment| %>
<%= render :partial => "/talk/partials/comment_2014", comment: comment, :locals => {:votes => @votes} %>
<% end %>
也不起作用。
答案 0 :(得分:1)
你可以这样做
<% @comments.each do |comment| %>
<%= render "/talk/partials/comment_2014", comment: comment, votes: @votes %>
<% end %>
或
<% @comments.each do |comment| %>
<%= render partial: "/talk/partials/comment_2014", locals: { comment: comment, votes: @votes } %>
<% end %>
注意第二种方式是评论在本地人中。