我不知道我将如何询问或启动我的问题,但我想要的是将我的AJAX视图重用到其他页面。我有一个现有的AJAX视图,当我从侧边栏单击一个链接时,我想渲染一个新页面,然后调用AJAX视图。
请参阅下面的示例代码。我希望你能理解我的问题。
def index
@items = Item.all
end
def category
@categories = Category.all
end
<%= @items.count %>
<div class="ajax_form"></div>
$(".ajax_form").html("<%= escape_javascript(render 'category') %>");
<%= @categories.count %>
点击侧边栏中的链接后,我想在不重新创建的情况下调用ajax。
<a href="<%= items_path %>" >
click_me
</a>
答案 0 :(得分:1)
你可以通过发送一个额外的参数来完成这个:
<a href="<%= items_path %>?fetch_category=true" >
click_me
</a>
更改项目控制器的索引操作
def index
@items = Item.all
@fetch_categories = params[:fetch_category] unless params[:fetch_category].blank?
end
最后在您的views / items / index.html.erb中,在文件底部添加这些行。
<script>
$(function(){
<% if @fetch_categories %>
$.ajax({
url: "<%= others_category_path %>",
type: "GET",
data: {}
});
<% end %>
});
</script>