我想要,而不是/ user /:id我希望默认用户路由是/ user:created_at我能够获得/ user:id工作(没有第二个/)但是当我尝试这样做时:created_at我收到了错误。
有谁知道如何解决这个问题?此外,即使我match 'users:id', :to => 'users#show', :as => :user, :via => :get
/ user / 1仍然是有效链接,因为我的config / routes.rb中有resources :users
。有没有办法在rails编译resources :users
时删除默认的/ user /:id?
答案 0 :(得分:1)
如果我理解正确,您可以使用to_param:http://apidock.com/rails/ActiveRecord/Base/to_param
因此,如果您在用户模型中使用
def to_param
"#{first_name}_#{last_name}"
end
然后user_path(@user)将生成/ users / planet_pluto例如
要防止map.resources生成路由,只需使用:except
map.resources :user, :except => [:show]
希望有所帮助