现在世界是矛盾的,现在我正在铁轨4中体验它。
<%= content_tag_for :tr , @person.products do |i| %>
<td>
<%= i.id %> //Line 1
<div class="editform hide">
<%= i.id %> //Line 2
</div>
</td>
<% end %>
第1行的输出随循环迭代而改变,但第2行的输出是常量且不会改变(其值是第一次迭代的值)。这是怎么回事?
更新
output of line1: 9 , 10 , 11 ,12
output of line2: 9 , 9 , 9 , 9
UPDATE2: 我刚刚意识到问题来自与jquery popover相关的editform类。当我更改该div的类名时,问题就解决了。这是我的代码来渲染popover:
$(function () {
$('.label-with-popover-edit').popover({
html : true,
content: function() { return $(".editform").html(); } ,
placement: 'top'
});
UPDATE3: 我刚刚找到了别的东西。如果我删除了隐藏类并让div可见,那么页面上的输出就不等于popover上的输出!我确信jquery是问题的根源。
答案 0 :(得分:0)
我发现了这个错误,在加载页面后,有一堆具有相同类的div和jquery popover加载第一个。