1

我只想更改 URL 而不会出现未定义的方法错误。我可以尝试手动操作,但有没有简单的方法可以做到这一点?

例如,在我的本地服务器上,如果 URL 是:/users/username/XYZ

有没有一种简单的方法可以轻松地将“XYZ”更改为其他内容?

4

2 回答 2

0

如果 XYZ 是资源丰富的路线的一部分,您可以像这样修改它

resources :users, :path_names => { :new => 'make', :edit => 'change' }

或者

如果您只想更改资源的名称,您可以像这样更改它:

resources :person, :controller => 'users', :as => 'users'

这会将 url 更改为“person”并维护所有类和方法名称。

这是rake routes输出:

    users GET    /person(.:format)          users#index
          POST   /person(.:format)          users#create
 new_user GET    /person/new(.:format)      users#new
edit_user GET    /person/:id/edit(.:format) users#edit
     user GET    /person/:id(.:format)      users#show
          PUT    /person/:id(.:format)      users#update
          DELETE /person/:id(.:format)      users#destroy

您可以在此处找到有关如何自定义资源丰富的路线的更多信息:http:
//guides.rubyonrails.org/routing.html#customizing-resourceful-routes

于 2013-03-15T03:24:30.517 回答
0

我认为这正是你正在寻找的:) ...

http://railscasts.com/episodes/314-pretty-urls-with-friendlyid

http://railscasts.com/episodes/63-model-name-in-url-revised

问候

于 2013-03-15T19:43:37.030 回答