我们为Ruby on Rails项目实现了一个简单的登录方法,我们在页面上有一个按钮,用于提交用户将要输入的登录信息,但不是指向我们的登录方法,而是提交按钮运行我们的创建方法并尝试创建另一个用户。
def login
username = params[:username]
password = params[:password]
if(username == NIL || password == NIL)
loginfailed
else
comparisonUser = User.where("username = ?", username)
if(comparisonUser == NIL)
loginfailed
else
comparisonPassword = comparisonUser.password
if(comparisonPassword == password)
flash[:notice] = "Login Successful"
@user = comparisonUser
else
loginfailed
end
end
end
end
这是Create方法:
def create
@user = User.create!(params[:user])
flash[:notice] = "User, #{@user.username} was successfully created."
redirect_to questions_path
end
以及网页上登录按钮的代码:
= form_tag users_path do
= label :userlogin, :username, 'Username'
= text_field :userlogin, :username
%br/
= label :userlogin, :password, 'Password'
= text_field :userlogin, :password
%br/
= submit_tag 'Login', :id => 'Login'
我可能需要在submit_tag中添加更多信息,但我不知道该怎么做。
感谢您的帮助!
答案 0 :(得分:1)
您要发布到users_path,这通常是创建操作(除非您修改了路径)。
而不是form_tag users_path
您需要引用适当的路线。