【问题标题】:Passing in variable to rails partial将变量传递给rails部分
【发布时间】:2014-02-24 00:19:58
【问题描述】:

现在我有一个看起来像这样的 Rails 部分:

<%= render :partial => "/talk/partials/comment", :collection => @comments, :locals => {:votes => @votes} %>

我传入了一组 cmets 和另一个局部变量。

该评论部分然后直接使用 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 %>

这也不起作用。

【问题讨论】:

    标签: ruby-on-rails partials


    【解决方案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 %>
    

    注意第二种方式的评论是在本地人里面。

    【讨论】:

      猜你喜欢
      • 2013-01-16
      • 2011-06-09
      • 1970-01-01
      • 2013-09-10
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      相关资源
      最近更新 更多