rails counter cache和外键测试

时间:2013-04-08 14:53:09

标签: ruby-on-rails rspec shoulda

这是我最喜欢的设计师模特

favorite_designer.rb

class FavoriteDesigner < ActiveRecord::Base
  belongs_to :user, :counter_cache => true
  belongs_to :designer, :class_name => "User", :foreign_key => :designer_id

  validates_presence_of :user_id
  validates_presence_of :designer_id

  validates_numericality_of :user_id, :unless => Proc.new{|f| f.user_id.blank?}
  validates_numericality_of :designer_id, :unless => Proc.new{|f| f.designer_id.blank?}
end

如何使用shoulda在rspec中测试:counter_cache => true and :foreign_key => :designer_id

1 个答案:

答案 0 :(得分:1)

您可以使用counter_cachewith_foreign_key匹配:

it { should belong_to(:organization).counter_cache(true) }

it { should have_many(:worries).with_foreign_key('worrier_id') }

有关完整文档和示例,请查看:

Counter cache doc

Foreign key doc