Activerecord 验证存在性和唯一性,rails 4

Activerecord 验证存在性和唯一性,rails 4,activerecord,ruby-on-rails-4,Activerecord,Ruby On Rails 4,我的模型中有以下代码: validates :user, presence: true, uniqueness: {scope: :project} 单独的验证器,存在性和唯一性,如果另一个不存在,每个都可以正常工作。但是,如果它们都如上所述存在,则presense验证器将停止工作。当我试图保存一个用户为nil的对象时,我得到的不是一个正常的保存错误,而是一个异常: NoMethodError:nil的未定义方法“属性”:nil:NilClass from/usr/local/lib/ru

我的模型中有以下代码:

  validates :user, presence: true, uniqueness: {scope: :project}
单独的验证器,存在性和唯一性,如果另一个不存在,每个都可以正常工作。但是,如果它们都如上所述存在,则presense验证器将停止工作。当我试图保存一个用户为nil的对象时,我得到的不是一个正常的保存错误,而是一个异常:

NoMethodError:nil的未定义方法“属性”:nil:NilClass from/usr/local/lib/ruby/gems/2.0.0/gems/activerecord-4.0.2/lib/active\u record/validations/university.rb:56:in“build\u relation”

这是ActiveRecord中的错误还是我做错了什么?

找到了解决方案(),但我认为这不是最好/正确的方法。只需添加
allow\u nil:true

那么它应该是这样的:

验证:用户、状态:true、唯一性:{scope::project}、允许\ nil:true