【问题标题】:Local variable not displaying correctly in foundation's reveal partials局部变量在基础的显示部分中未正确显示
【发布时间】:2014-02-27 07:42:57
【问题描述】:

我认为有以下代码:

<% @post_comments.each do |comment| %>

  <%= render partial: "flags/flag_comment", locals: { comment: comment } %>

<% end %>

这在我的部分:

<div id="flagComment" class="reveal-modal" data-reveal>

    <%= simple_form_for [comment, @flag] do |f| %>

      <%= f.input :reason %>
      <%= f.button :submit %>

    <% end %>

    </div>

<a href="#" data-reveal-id="flagComment" data-reveal>Flag</a>

但是,局部变量 'comment' 的设置不正确。

如果我将&lt;%= comment.id %&gt; 放入部分中,则每次单击视图中的“标志”链接时都会得到相同的 id '9'。

我正在使用 Zurb 的基金会来创建“展示”,以防万一。

谁能解释一下我哪里出错了?

【问题讨论】:

  • 当您将 放入部分上方的 each 循环时,您是否得到相同的“9”?如果是这样,我们能否查看您的 @post_comments 集合的初始化位置。
  • 你确定@post_cmets 有多个值吗?
  • 是的,肯定的。 '标志 ' 输出标志 9 标志 5 标志 4 标志 3 标志 2

标签: ruby-on-rails ruby-on-rails-4 zurb-foundation partials


【解决方案1】:

这是因为对于所有部分 div id="flagComment" id 设置为相同的值。

Data-reveal 将查找带有 id=flagComment 的 div,期望 div 具有唯一的 id。 如果您有多个具有相同 id 的 div,data-reveal 将选择第一个具有匹配 id 的 div。 因此,每次单击 Flag 链接时,您都会获得相同的 id 9(第一个具有给定 id 的 div)。

为了解决这个问题,我建议为每条评论设置不同的 ID,

例如:你可以做这样的事情

<%= content_tag :div, :id => "flagComment_#{comment.id} ..... %>
...
<% end %>

上面每次都会设置不同的id。在a href 标记中设置data-reveal-id 时也需要这样做。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-02-20
  • 2017-09-17
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 2020-05-27
  • 1970-01-01
相关资源
最近更新 更多