今日の世界は矛盾についてであり、今私はレール 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 のクラス名を変更すると、問題は解決します。ポップオーバーをレンダリングするコードは次のとおりです。
$(function () {
$('.label-with-popover-edit').popover({
html : true,
content: function() { return $(".editform").html(); } ,
placement: 'top'
});
更新 3: 何か他のものを見つけました。非表示クラスを削除して div を表示すると、ページの出力はポップオーバーの出力と等しくなりません!!!! jqueryが問題の原因であると確信しています。