传递没有id,但只传递带有Rails路径的参数

时间:2012-03-11 20:53:13

标签: ruby-on-rails ruby routes

根据我的设置,我有以下路线

    users GET    /users(.:format)          {:action=>"index", :controller=>"users"}
          POST   /users(.:format)          {:action=>"create", :controller=>"users"}
 new_user GET    /users/new(.:format)      {:action=>"new", :controller=>"users"}
edit_user GET    /users/:id/edit(.:format) {:action=>"edit", :controller=>"users"}
 user GET    /users/:id(.:format)      {:action=>"show", :controller=>"users"}
          PUT    /users/:id(.:format)      {:action=>"update", :controller=>"users"}
          DELETE /users/:id(.:format)      {:action=>"destroy", :controller=>"users"}

现在,在app / views ...等下面的相应index.html.haml视图中,我有一个看起来像这样的链接,

 %th#name_header= link_to "List Names", user_path( ...

现在,我想定义该链接,以便我可以调用索引操作,也就是说,我回到同一页面,使用不同的设置

2 个答案:

答案 0 :(得分:1)

索引操作已映射到users_path,而不是user_path - 这是show动作,需要:id参数才能使用此设置。要使用格式(例如javascript)链接到索引操作,请使用

users_path(:format => "js")

答案 1 :(得分:1)

您似乎想要链接到用户索引页面,因此您必须使用users_path(注意复数):

= link_to "List Names", users_path

然后,您当然可以传递users_path您想要的任何参数。