如何使用with_options进行条件验证

时间:2015-05-06 06:22:25

标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-3.2

如何使用sz == 0进行条件验证?

我的代码是

with_options

我已经在应用程序控制器中设置了with_options if: (AppUser::User.creator=="is_admin") do |admin| admin.validates :first_name, :presence => true admin.validates :last_name, :presence => true end 方法。

creator

但我正在

  

未定义的方法`验证' for false:FalseClass

此代码有什么问题。

1 个答案:

答案 0 :(得分:0)

,因为

(AppUser::User.creator == "is_admin")`

不会返回一个对象,但它是一个布尔值。

试试这个(在你的模型中):

class User < ActiveRecord::Base
  with_options if: (AppUser::User.creator == "is_admin") do
    validates :first_name, presence: true
    validates :last_name, presence: true
  end
end

P.S:我建议使用devise gem来管理这样的用户类型: devise and multiple “user” models