【问题标题】:Ruby on Rails ActiveRecord ValidationRuby on Rails ActiveRecord 验证
【发布时间】:2009-11-19 13:00:13
【问题描述】:

我想在这样的函数中验证属性

class User < ActiveRecord::Base

  validate :check_name( :name )

  def check_name( name )
    ... if name is invalid ...
       self.errors.add( :name, 'Name is invalid')
  end

end

你能写出正确的代码吗? 请解释功能为什么... 谢谢!

【问题讨论】:

    标签: ruby-on-rails validation activerecord


    【解决方案1】:
    class User < ActiveRecord::Base
    
      validate :check_name
    
      def check_name
        if name # is invalid ...
          self.errors.add(:name, 'Name is invalid')
        end
      end
    
    end
    

    您可以使用validate 宏,但该方法不能接受参数。 您需要从方法内部获取属性值,然后对其进行验证。

    替换

    if name # is invalid ...
    

    使用您自己的验证逻辑。

    【讨论】:

      猜你喜欢
      • 2013-02-03
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      相关资源
      最近更新 更多