2013-04-08 2 views
2

Это моя любимая модель дизайнераРельсы счетчик кэша и тестирование внешнего ключа

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 

Как я могу проверить :counter_cache => true and :foreign_key => :designer_id в RSpec с Shoulda?

ответ

1

Вы можете использовать counter_cache и with_foreign_key Shoulda matchers:

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

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

Для полного дока и примеров смотрите на:

Counter cache doc

Foreign key doc

Смежные вопросы