Ruby on rails 3 Rails 3:Desive Gem+错误:唯一性有效性
我正在使用最新的Desive gem运行rails 3.2.5。我有一个与Actor类相关的用户类。如果我使用以下语法,有一个名为slug的字段可以很好地验证Ruby on rails 3 Rails 3:Desive Gem+错误:唯一性有效性,ruby-on-rails-3,validation,devise,ruby-on-rails-3.2,Ruby On Rails 3,Validation,Devise,Ruby On Rails 3.2,我正在使用最新的Desive gem运行rails 3.2.5。我有一个与Actor类相关的用户类。如果我使用以下语法,有一个名为slug的字段可以很好地验证 validates :slug, :presence => true, :length => { :maximum => 50 } 但是如果我把额外的唯一性参数 validates :slug, :presence => true, :length => { :maximum => 50 }, :un
validates :slug, :presence => true, :length => { :maximum => 50 }
但是如果我把额外的唯一性参数
validates :slug, :presence => true, :length => { :maximum => 50 }, :uniqueness => true
它抛出一个错误
NoMethodError in Devise::RegistrationsController#update
undefined method `text?' for nil:NilClass
我不确定是什么导致了这样的情况
我还应该提到,在我的用户模型类中,我有以下内容
attr_accessible :name, :email, :password, :password_confirmation, :language, :remember_me, :profile_attributes, :admin, :slug
在我的配置文件中
config.active_record.whitelist_attributes = false #not standard nor recommended I know
我也遇到了同样的问题,并且能够通过将validates\u university\u本身分离出来来解决这个问题。对我来说也是如此
validates :username, :presence, uniqueness: { case_sensitive: false }
在未定义的方法“text”中引发相同的错误。在转换为
validates_presence_of :username
validates_uniqueness_of :username, { case_sensitive: false }
很好用