如何在rails 4中使用click事件

时间:2014-09-17 13:13:25

标签: ruby-on-rails ruby-on-rails-4

我的代码:

<%@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中是否有任何点击事件。

1 个答案:

答案 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