Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Rails 3:Desive Gem+错误:唯一性有效性_Ruby On Rails 3_Validation_Devise_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 3 Rails 3:Desive Gem+错误:唯一性有效性

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

我正在使用最新的Desive gem运行rails 3.2.5。我有一个与Actor类相关的用户类。如果我使用以下语法,有一个名为slug的字段可以很好地验证

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 }
很好用