【问题标题】:easy way to rename URL in Rails?在 Rails 中重命名 URL 的简单方法?
【发布时间】:2013-03-15 03:10:10
【问题描述】:

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

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

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

【问题讨论】:

  • 你可以改变路线
  • 我不确定您所说的“一种简单的方法”是什么意思。看看guides.rubyonrails.org/routing.html。修改路线的唯一方法是修改config/routes.rb 中的路线。
  • 我试过了..这是我放入路线的内容 - 资源 :XYZ, :path => "ABC" 并且链接没有改变

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


【解决方案1】:

如果 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

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2013-08-20
    • 1970-01-01
    • 2016-03-08
    • 2021-03-25
    • 2016-09-02
    • 2011-02-21
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多