Ruby on rails Rails是否为当前页面?关于动态添加元素
我在查看当前页面时遇到问题?部分地 Section.html.erbRuby on rails Rails是否为当前页面?关于动态添加元素,ruby-on-rails,ruby,ajax,ruby-on-rails-4,Ruby On Rails,Ruby,Ajax,Ruby On Rails 4,我在查看当前页面时遇到问题?部分地 Section.html.erb <div class="list" %>"> <%= render partial: 'items/item', collection: section.items, :as => :item %> </div> <% if current_page?(edit_polymorphic_path(@modulable)) %> <sp
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item %>
</div>
<% if current_page?(edit_polymorphic_path(@modulable)) %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item, local: { edit: true } %>
</div>
<% if defined?(edit) && edit %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
$('.list').append(
'<%= j (render partial: 'items/item', locals: { item: @item, edit: true }) %>'
);
“>
:项目%>
\u item.html.erb
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item %>
</div>
<% if current_page?(edit_polymorphic_path(@modulable)) %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item, local: { edit: true } %>
</div>
<% if defined?(edit) && edit %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
$('.list').append(
'<%= j (render partial: 'items/item', locals: { item: @item, edit: true }) %>'
);
该代码在新页面加载和刷新页面时工作正常,但在使用ajax动态添加的元素上不起作用
这个方法对Ajax有效吗?我做错了什么吗?或者我必须使用另一种方法吗?我最终使用了另一种方法。我没有让部分询问它在哪个页面,而是将一个局部变量传递给告诉它该做什么 Section.html.erb
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item %>
</div>
<% if current_page?(edit_polymorphic_path(@modulable)) %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item, local: { edit: true } %>
</div>
<% if defined?(edit) && edit %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
$('.list').append(
'<%= j (render partial: 'items/item', locals: { item: @item, edit: true }) %>'
);
“>
:项,本地:{edit:true}%>
\u item.html.erb
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item %>
</div>
<% if current_page?(edit_polymorphic_path(@modulable)) %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item, local: { edit: true } %>
</div>
<% if defined?(edit) && edit %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
$('.list').append(
'<%= j (render partial: 'items/item', locals: { item: @item, edit: true }) %>'
);
我确保将局部变量传递给update.js.erb中的新元素
items/update.js.erb
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item %>
</div>
<% if current_page?(edit_polymorphic_path(@modulable)) %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
<div class="list" %>">
<%= render partial: 'items/item', collection: section.items, :as => :item, local: { edit: true } %>
</div>
<% if defined?(edit) && edit %>
<span class="action">
<%= link_to %>
<%= link_to %>
</span>
<% end %>
$('.list').append(
'<%= j (render partial: 'items/item', locals: { item: @item, edit: true }) %>'
);
$('.list')。追加(
''
);
它可以工作,而且更显式。您需要通过javascript更改它,可能是在ajax中,检查响应是否成功,并更改当前页面链接。虽然它根本没有呈现,但如何通过ajax传递当前页面?