fcp6316
2009-12-08 13:59 阅读 178
已采纳

哪位大侠给解决下新手问题吗-Rails为什么不显示验证信息

model里的代码
class MUser < ActiveRecord::Base
attr_accessor :user_pw
attr_accessible :user_cd, :user_pw
validates_uniqueness_of :user_cd
validates_presence_of :user_cd, :user_pw
def before_create
self.hashed_user_pw = MUser.hash_user_pw(self.user_pw)
end
def after_create
@user_pw = nil
end
def self.hash_user_pw(user_pw)
Digest::SHA1.hexdigest(user_pw)
end

def self.login(user_cd, user_pw)
hashed_user_pw = hash_user_pw(user_pw || "")
find(:first,
:conditions => ["user_cd = ? and user_pw = ?",
user_cd, hashed_user_pw])
end
def try_to_login
MUser.login(self.user_cd, self.user_pw)
end
end

controller里的代码
class LoginController < ApplicationController
def login
if request.get?
session[:user_id] = nil

@user = MUser.new

else

@user = MUser.new(params[:muser])

logged_in_muser = @user.try_to_login

if logged_in_muser

session[:user_id] = logged_in_muser.id

redirect_to(:action => "index")

else

flash[:notice] = "Invalid user/password combination"

end

end
end

def add_user

end

def index
@time = Time.now
end
end

view里的代码
<% form_tag({:action => 'login'}) do -%>
<%= error_messages_for 'muser' %>














用户名: <%= text_field("muser", "user_cd") %>
密    码: <%= password_field("muser", "user_pw") %>

<%end -%>

现在是将验证信息无法显示到页面上,帮我看下是哪里出了问题~ 万分感谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    horace_lee horace_lee 2009-12-11 19:34

    [code="ruby"]<%= error_messages_for 'muser' %> [/code]
    改成
    [code="ruby"]<%= error_messages_for 'user' %> [/code]
    你的变量不是@muser

    [code="ruby"]
    session[:user_id] = nil

    @user = MUser.new
    else

    @user = MUser.new(params[:muser])

    logged_in_muser = @user.try_to_login

    if logged_in_muser

    [/code]

    点赞 评论 复制链接分享
  • kamama kamama 2009-12-09 10:17

    你是不是用了新的layout和样式表?
    如果不是那个scaffold生成的默认的样式和layout,你需要自己在view文件中对应的地方定义一个位置,显示返回的东西。

    点赞 评论 复制链接分享
  • yearl turbogears 2009-12-09 13:56

    你的view里有要求显示验证信息吗?是不是没有这个?
    <%= flash[:notice] %>

    点赞 评论 复制链接分享

相关推荐