如何在rails中定义自定义路径?

我有一个用户模型。 如果我做:

def my_action @user = User.new end 

然后

   

我明白了

 undefined method `users_path' for # 

这有意义,因为我还没有将它映射到map.resources :users. ..但我不想这样做,因为我不需要所有的资源。

如何在路由中定义此user_path方法?

您还可以自定义rest路线 。 例如,在我的应用程序中,只有索引和show动作适用于某些控制器。 在我的routes.rb文件中,我有一些像这样的路线:

 map.resources :announcements, :only => [:index, :show] 

您也可以使用:except更合适。

由于我来到这里寻找一种在routes.rb中创建帮助器的方法,这里是这样做的方法:

 get '/users/:id/' =>'users#show', :as => :user 

您可以在routes.rb文件中映射自定义路由,如下所示…

 map.users '/users', :controller => 'user', :action => 'index' 

这为您提供了您正在寻找的users_path助手。