Ruby on rails 3 当ActiveRecord验证失败时,如何捕获用户提交的属性值?

Ruby on rails 3 当ActiveRecord验证失败时,如何捕获用户提交的属性值?,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,当特定的ActiveRecord验证失败时,是否有一种优雅的方法来调用方法?我想象着像 验证:电子邮件地址:唯一性=>true,:when\u fail=>:调用方法 当验证失败时,我有一种迂回的方法来调用该方法,涉及控制器中的代码,但我希望在模型中找到更直接的方法。我在网上找不到任何相关的例子 删除了其他细节以关注问题。模型中的这一点如何 Model < ActiveRecord::Base after_validation do self.my_method unless

特定的ActiveRecord验证失败时,是否有一种优雅的方法来调用方法?我想象着像

验证:电子邮件地址:唯一性=>true,:when\u fail=>:调用方法

当验证失败时,我有一种迂回的方法来调用该方法,涉及控制器中的代码,但我希望在模型中找到更直接的方法。我在网上找不到任何相关的例子


删除了其他细节以关注问题。

模型中的这一点如何

Model < ActiveRecord::Base
  after_validation do
    self.my_method unless self.errors.empty?
  end
end
Model

对于特定验证,您可以使用。

为什么不使用会话而不是cookie?你可以创建一个会话[:new_users]并存储用户ID..如果一个新用户想要注册,请对照会话和数据库检查电子邮件..@Mattherick-我编辑了我的帖子以关注我的问题。关于会话和cookies,我还有更多要了解的内容,但那是以后的事了。我感谢你的帮助!嗯,但这只允许用户注册并使用一台计算机登录。顺便说一句,cookie可以被黑客或复制。为什么要创建这样的身份验证系统?我建议使用Desive这样的现有系统。我理解你的问题,但我认为你完全走错了路。