当用户登录到/username时,我想重定向他们。当我使用redirect_to user时,由于某种原因,它会重定向到/users/username。举例说明。它不是去site.com/charles,而是去site.com/users/charles。
我在我的to_param文件中这样覆盖了user.rb:
def to_param
username
end我有一个虚空URL链接到用户。
match './:username', to: 'users#show', via: 'get'
我的sessions_controller.rb看起来是这样的:
def login
user = User.find_by(username: params[:session][:username])
if user && user.authenticate(params[:session][:password])
# Sign the user in and redirect to the user's show page.
sign_in user
redirect_to user
else
flash[:error] = 'Invalid email/password combination'
render 'new'
end
end我的signin方法如Hartl的示例所示,这就是我做本教程的地方。我只是不明白它为什么要以这种方式重定向,也不知道如何才能重定向到用户。
发布于 2014-02-02 22:46:25
在路线上:
get "/:username",
to: "users#show",
as: "username"那你就可以
redirect_to username_path(user)https://stackoverflow.com/questions/21517218
复制相似问题