将变量传递给rails部分

时间:2014-02-24 00:19:59

标签: ruby-on-rails partials

现在我有一个看起来像这样的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 %>

也不起作用。

1 个答案:

答案 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 %>

注意第二种方式是评论在本地人中。