Ruby on rails 验证触发错误事件的唯一性

Ruby on rails 验证触发错误事件的唯一性,ruby-on-rails,Ruby On Rails,我做了一个shoulda测试: it { should validate_uniqueness_of :link } 它给出了一个错误 undefined method `truncate' for nil:NilClass # ./app/models/crowdfunding.rb:100:in `truncate_overview' 这意味着它会在名为truncate\u overview的保存回调之前触发 所以我假设它检查唯一性的方式是保存一次记录,然后再试二次 有没有办法让它在保

我做了一个shoulda测试:

it { should validate_uniqueness_of :link }
它给出了一个错误

undefined method `truncate' for nil:NilClass
 # ./app/models/crowdfunding.rb:100:in `truncate_overview'
这意味着它会在名为truncate\u overview的保存回调之前触发

所以我假设它检查唯一性的方式是保存一次记录,然后再试二次


有没有办法让它在保存回调之前不触发?

没有。Valida的验证器应该通过设置各种值并调用valid来工作吗?查看其行为是否符合预期。

能否显示更多测试代码?用shoulda测试唯一性可能很棘手。你到底想看什么?