我的代码:
<%@categories.each_with_index do |d,index| %>
<%= link_to d.name ,{:action=>'index',:id=>d.id,:hotel_id=>d.hotel_id},class: "btn-orange" %>
<%end%>
在我的控制器中:
def index
@category = Category.where(:hotel_id => params[:hotel_id]).first
@menus2=Menu.where(:category_id=> @category.id).sorted
@categories=Category.where(:hotel_id=>params[:hotel_id])
@cart = current_cart
if params[:name]==params[:name]
@menus=Menu.where(:category_id=> params[:id]).sorted
else
end
end
我是rails的新手。我想在点击link_to时使用@menus2=Menu.where(:category_id=> 0).sorted
此代码。如何在我的控制器中执行,ROR中是否有任何点击事件。
答案 0 :(得分:0)
您可以为link_to方法添加远程属性:
= link_to d.name, controller_index_path, class: 'btn etc', remote: true
这将允许Rails对您想要的控制器进行“Ajax”调用。
注意:在进行此类远程调用时,Rails将通过.js接收/响应。这意味着您需要有一个index.js.erb文件来执行您需要的操作,并向“Ajax”调用者报告所需的任何数据。
Rails指南中的此页面可能有助于提供其他详细信息等:Working with JavaScript in Rails