Ruby on rails 注册/登录路由错误
很抱歉,我的问题是新手,但我正在努力掌握RoR。我有一个非常基本的注册和登录过程,但我有一些困难得到正确的路由。当我按下注销按钮时,我也不确定我是否真的成功注销了,因为它没有按应有的方式显示登录按钮 我在Rails 3.1上的设置如下: 会话控制器 类sessioncontrollerRuby on rails 注册/登录路由错误,ruby-on-rails,ruby-on-rails-3.1,routing,Ruby On Rails,Ruby On Rails 3.1,Routing,很抱歉,我的问题是新手,但我正在努力掌握RoR。我有一个非常基本的注册和登录过程,但我有一些困难得到正确的路由。当我按下注销按钮时,我也不确定我是否真的成功注销了,因为它没有按应有的方式显示登录按钮 我在Rails 3.1上的设置如下: 会话控制器 类sessioncontroller,看看是否有帮助。嗨,Matenia,谢谢你的帮助。我已将此添加到我的代码中,现在它看起来和工作起来都好多了!:)嗨,乔恩,谢谢你的帮助,我成功地将此合并到我的路由文件中,现在一切似乎都很正常!嗨,乔恩,谢谢你的帮
def create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password!"
render "signup"
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Logged Out!"
def create
@user = User.new (params[:user])
if @user.save
redirect_to root_url, :notice => "Signed Up!"
else
render "user/new"
end
end
end
结束
结束
def create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password!"
render "signup"
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Logged Out!"
def create
@user = User.new (params[:user])
if @user.save
redirect_to root_url, :notice => "Signed Up!"
else
render "user/new"
end
end
end
用户控制器
类UserControllerdef create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password!"
render "signup"
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Logged Out!"
def create
@user = User.new (params[:user])
if @user.save
redirect_to root_url, :notice => "Signed Up!"
else
render "user/new"
end
end
end
用户模型
结束
def create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password!"
render "signup"
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Logged Out!"
def create
@user = User.new (params[:user])
if @user.save
redirect_to root_url, :notice => "Signed Up!"
else
render "user/new"
end
end
end
很抱歉在这篇文章中大量使用了代码,但我认为最好是全面地了解所有内容,这样人们就可以看到我的错误所在
如果您能提供任何帮助,我将不胜感激,因为我自己似乎没有得到
谢谢,
Tom您的代码看起来不错,但您的路线看起来有点奇怪 我想试试这样的东西:
resources :users
resources :sessions
match 'login' => 'sessions#new', :as => :login
match 'logout' => 'sessions#destroy', :as => :logout
然后,我认为您当前拥有的所有功能都应该可以正常工作。您的代码看起来不错,但您的路由看起来有点奇怪 我想试试这样的东西:
resources :users
resources :sessions
match 'login' => 'sessions#new', :as => :login
match 'logout' => 'sessions#destroy', :as => :logout
那么我认为你目前所拥有的一切都应该有效。看来你的链接是错误的。。。尝试更改为
:删除%>
,看看是否有帮助。嗨,Matenia,谢谢你的帮助。我已将此添加到我的代码中,现在它看起来和工作起来都好多了!:)看来你的链接是错误的。。。尝试更改为:删除%>
,看看是否有帮助。嗨,Matenia,谢谢你的帮助。我已将此添加到我的代码中,现在它看起来和工作起来都好多了!:)嗨,乔恩,谢谢你的帮助,我成功地将此合并到我的路由文件中,现在一切似乎都很正常!嗨,乔恩,谢谢你的帮助,我成功地将此合并到我的路由文件中,现在一切似乎都很正常!