我遇到if current_page有问题吗?在部分。
Section.html.erb
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item %>
</div>
_item.html.erb
<% if current_page?(edit_polymorphic_path(@modulable)) %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
代码在新页面加载和刷新页面时工作正常,但不能使用ajax动态添加元素。
此方法是否适用于Ajax?难道我做错了什么?或者我必须使用其他方法吗?
答案 0 :(得分:0)
我最终使用了不同的方法。我将一个局部变量传递给告诉,而不是让部分询问它在哪个页面。
<强> Section.html.erb 强>
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item, local: { edit: true } %>
</div>
<强> _item.html.erb 强>
<% if defined?(edit) && edit %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
我确保将局部变量传递给update.js.erb
中的新元素<强>项/ update.js.erb 强>
$('.list').append(
'<%= j (render partial: 'items/item', locals: { item: @item, edit: true }) %>'
);
它有效,而且更明确。