Ruby on rails Rails是否为当前页面?关于动态添加元素

Ruby 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

我在查看当前页面时遇到问题?部分地

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 }) %>'
    );
“>
:项目%>
\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传递当前页面?