Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在Rails中重命名URL的简单方法?_Ruby_Ruby On Rails 3_Rails Routing - Fatal编程技术网

Ruby 在Rails中重命名URL的简单方法?

Ruby 在Rails中重命名URL的简单方法?,ruby,ruby-on-rails-3,rails-routing,Ruby,Ruby On Rails 3,Rails Routing,我只想在不出现未定义方法错误的情况下更改URL。我可以尝试手动操作,但有没有简单的方法 例如,在我的本地服务器上,如果URL为: /users/username/XYZ 是否有一种简单的方法可以轻松地将XYZ更改为其他内容?如果XYZ是资源路由的一部分,您可以这样修改它 resources :users, :path_names => { :new => 'make', :edit => 'change' } 或 如果只想更改资源的名称,可以按如下方式更改: resource

我只想在不出现未定义方法错误的情况下更改URL。我可以尝试手动操作,但有没有简单的方法

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


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

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

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

如果只想更改资源的名称,可以按如下方式更改:

resources :person, :controller => 'users', :as => 'users'
这会将URL更改为“person”,并维护所有类和方法名称

以下是rake路由输出:

您可以在此处了解有关如何自定义资源路由的更多信息:
我想这正是你想要的:


关于

你可以改变路线。我不知道你说的简单方法是什么意思。看一看。修改路由的唯一方法是在config/routes.rb中修改路由。。这是我在routes-resources:XYZ,:path=>ABC中输入的内容,链接没有改变
    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