我想知道是否有可能有相同的操作,例如Users#connexion,并且为此提供了一个GET请求,它给出了连接的形式,并且从同一个动作,一个用于使用数据的POST通过表格发送。
因为目前我有一个用户#连接操作,它连接一个用户,一个空操作用户#getconnect,它会路由到表单。
连接用户#操作
def connect
if usr = User.find_by(:student_number, params['student_number']) && usr.password == params['password']
session[:user] = usr
puts "connexion OK"
else
puts "Fail connexion"
end
respond_to do |format|
format.html { redirect_to users_url, notice: 'Connect!' }
end
end
getConnect
def getConnect
end
的routes.rb
get '/connexion', to: 'users#getConnect'
post '/connexion', to: 'users#connect'
编辑: 好的,这很简单,你的答案有效,对我很羞耻......
def connect
if request.post?
if usr = User.find_by(:student_number, params['student_number']) && usr.password == params['password']
session[:user] = usr
puts "connexion OK"
else
puts "Fail connexion"
end
respond_to do |format|
format.html { redirect_to users_url, notice: 'Connect!' }
end
end
end
非常感谢您的评论,有效地我不需要“else”语句,视图会自动呈现!
答案 0 :(得分:1)
您可以使用:
def connect
if request.post?
#Something
else
#Something else
end
end