Ruby on rails 未定义的方法`验证';对于#<;登录:0x007f04dd0df988>;
我已经创建了一个登录页面,并在上面输入了保存的用户名和密码。因此,当我输入id密码时,它会对其进行身份验证,然后将我重定向到另一个页面。但我收到此错误消息,我现在不知道该怎么办我是ruby新手。如果这是一个愚蠢的问题,请提前道歉,但请帮我解决 **这是我的控制器Ruby on rails 未定义的方法`验证';对于#<;登录:0x007f04dd0df988>;,ruby-on-rails,Ruby On Rails,我已经创建了一个登录页面,并在上面输入了保存的用户名和密码。因此,当我输入id密码时,它会对其进行身份验证,然后将我重定向到另一个页面。但我收到此错误消息,我现在不知道该怎么办我是ruby新手。如果这是一个愚蠢的问题,请提前道歉,但请帮我解决 **这是我的控制器 class LoginsController < ApplicationController def index end def log end def attempt_login if params[
class LoginsController < ApplicationController
def index
end
def log
end
def attempt_login
if params[:username].present? && params[:password].present?
found_user = Login.where(:username => params[:username]).first
if found_user
authorized_user = found_user.authenticate(params[:password])
end
end
if authorized_user
# mark user as logged in
session[:username] = authorized_user.username
flash[:notice] = "You are now logged in."
redirect_to(:controller => 'Posts',:action => 'index')
else
flash[:notice] = "Invalid username/password combination."
redirect_to(:action => 'log')
end
end
def logout
end
end
class LoginsControllerparams[:username])。首先
如果找到用户
authorized_user=找到的_user.authenticate(参数[:密码])
结束
结束
如果是授权用户
#将用户标记为已登录
会话[:用户名]=授权的用户.username
flash[:注意]=“您现在已登录。”
将_重定向到(:controller=>'Posts',:action=>'index')
其他的
flash[:注意]=“无效的用户名/密码组合。”
将_重定向到(:action=>“log”)
结束
结束
def注销
结束
结束
**这是我的看法
<%= form_tag(:action => 'attempt_login') do %>
<table>
<tr>
<td><%= label_tag(:username) %></td>
<td><%= text_field_tag(:username) %></td>
</tr>
<tr>
<td><%= label_tag(:password) %></td>
<td><%= password_field_tag(:password) %></td>
</tr>
<tr>
<td> </td>
<td><%= submit_tag("Log In") %></td>
</tr>
</table>
<% end %>
“尝试登录”)执行%>
**这是我的模型
class Login < ActiveRecord::Base
end
类登录
**这是我的数据库迁移文件
class CreateLogins < ActiveRecord::Migration
def up
create_table :logins do |f|
f.string :username
f.string :password
f.string :role
end
end
def down
drop_table :logins
end
end
class CreateLogins
找到用户。验证(参数[:密码])
行在登录
模型中需要一个验证
方法。如果你对ruby完全陌生,最好一步一步地学习教程(例如:),这样你就会熟悉这些概念。是的,我是全新的,谢谢