在Rails 3中调用没有命名路由的控制器操作

时间:2010-10-31 22:55:11

标签: ruby-on-rails ruby-on-rails-3

在Rails 3中,有没有办法在没有命名路由的情况下使用ajax链接到控制器的动作?

我尝试了<%= link_to 'Reload', '#', url_for(:action => :reload, :id => @user.id), :remote => true, :method => 'post' %>

但它返回错误No route matches {:controller=>"users", :id=>2, :action=>"reload"}

我主要担心的是我不希望某人在地址栏中输入路线来调用该操作。还有另一种方法可以解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的User资源位于routes.rb文件中,那么您需要为7个其他操作添加路由。

  resources :user, :member => {:reload => :get}

这将为您提供使用

的途径
   <%= link_to "Reload", user_reload_path(current_user)%>

这应该可以用于重新加载用户对象

 rake routes

将显示您可以使用的所有路线