ruby-on-rails - rails : How to prevent 2 active-record attributes to be equal with validation?

标签 ruby-on-rails security validation

出于安全原因,我想阻止用户使用密码注册=登录。我尝试过这样的事情:

  validates_each :password do |record, attr, value|
    if(value == self.login)
      record.errors.add(attr)
    end
  end

但我总是收到以下错误:未定义方法登录 self 。我猜这与类层次结构有关,但我如何访问更高的级别。

我有点卡在这里,请帮忙。

最佳答案

尝试

if value == record.login

记录作为record局部变量传递到 block 中,在此上下文中不是self

关于ruby-on-rails - rails : How to prevent 2 active-record attributes to be equal with validation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786139/

相关文章:

ruby-on-rails - 定位图像的最佳方法

ruby-on-rails - 由另一个用户添加用户

jQuery-Validation-Engine - 当值为空时,自定义 funcCall 验证会导致错误

php - 证书。对于哪些页面?

xml - 什么是 linux 平台最快的 xml 验证器

ruby-on-rails - Rails ActiveRecord 验证 : maximum length of a string?

ruby-on-rails - Devise + RSpec - 注册验证错误

javascript - Rails 4 Javascript 图像路径

android - 如何从应用程序发送电子邮件

php - 加密:使用初始化向量与 key ?