我在视图中有以下代码:
<% @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>
然而,本地变量&#39;评论&#39;没有设置正确。
如果我将<%= comment.id %>
放入部分内容中,我会获得相同的ID&#39; 9&#39;每次我点击“标记”#39;链接在我看来。
我使用Zurb的基础来制作“揭示”,以防万一。
有人能解释我的错误吗?
答案 0 :(得分:1)
那是因为所有部分div id="flagComment"
id都设置为相同的值。
数据显示将查找具有id=flagComment
期望具有唯一ID的div的div。
如果您有多个具有相同ID的div,则data-reveal将选择具有匹配ID的第一个div。
因此,每次单击Flag链接时,您都会获得相同的id 9
(具有给定id的第一个div)。
要解决这个问题,我建议每个评论都有不同的ID,
例如:你可以做这样的事情
<%= content_tag :div, :id => "flagComment_#{comment.id} ..... %>
...
<% end %>
以上每次都会设置不同的ID。您也可以在data-reveal-id
代码中设置a href
。