【发布时间】:2014-06-14 20:13:35
【问题描述】:
我是 Rails 新手,我想知道是否有办法更改路线名称。我会在一分钟内解释这句话。我有一个名为 users_controller 的 控制器,下面是我的控制器中的代码:
def create
if @user.save
redirect_to @user
end
而我的 routes.rb 文件如下:
resources :users
get '/users/:id', to: 'users#show'
现在假设我有一个表格并且我填写正确,然后我将被重定向到localhost:3000/users/id(id = some value),我这样做了。现在我希望这个 URL 像 localhost:3000/registered 。那是当我单击提交按钮时,如果一切正确,我希望将 URL 视为localhost:3000/registered,这会将我带到我的显示操作,或者就像localhost:3000/users/id(id = some value) 一样工作。我不希望 ID 可见。
为此,我尝试了get 'registered', to: 'users#show',但我仍然看到与localhost:3000/users/id(id = some value) 相同的URL。请告诉我该怎么做。
这是我的表演动作
def show
@user = User.find(params[:id])
end
我尝试了另一种方法,即在同一个控制器中执行另一个操作。我在 users_controller 中创建了 index action 并执行,然后我得到了 No method Error
【问题讨论】:
-
我提到过。从那里我得到这个想法得到“注册”,到:'users#show'
-
我应该将控制器更改为其他东西而不是使用@user
-
类似 redirect_to 注册路径
标签: ruby-on-rails-4 ruby-on-rails-3.2 routes custom-routes