2013-05-07 10 views
13

साथ विशिष्टता को मान्य मैं अपने लाइन मॉडल में इस राशिRspec गुंजाइश

validates :home_team, :uniqueness => { :scope => [:visiting_team, :event_datetime], 
:message => "** DOUBLE EVENT **" } 

मैं अपने विवरण में इस राशि

describe Line do 
    it { should validate_uniqueness_of(:home_team).scoped_to(:visiting_team, :event_datetime) } 

मैं इस त्रुटि मिलती है ...

विफलताएं:

1) Line 
Failure/Error: 

it { should validate_uniqueness_of(:home_team).scoped_to(:visiting_team, :event_datetime) } 
    Did not expect errors to include "has already been taken" when home_team is set to "arbitrary_string", got error: 
# ./spec/models/line_spec.rb:7:in `block (2 levels) in <top (required)>' 

कोई विचार क्यों यह असफल रहा है?

उत्तर

28

मुझे लगता है कि आप इस बनाने के सब करने की ज़रूरत यह

it { should validate_uniqueness_of(:home_team).scoped_to(:visiting_team, :event_datetime).with_message("** DOUBLE EVENT **") } 

विशिष्टता के डिफ़ॉल्ट त्रुटि संदेश है "पहले से ही लिया गया है" गुजरती हैं।

+0

हाय रॉय :) अब मुझे मिलता है .... मुझे लगता है कि मुझे नए दृष्टिकोण की कोशिश करनी होगी। 1) रेखा विफलता/त्रुटि: यह {validate_uniqueness_of चाहिए (: HOME_TEAM) .scoped_to (: visiting_team,: event_datetime) .with_message ("** दोहरा घटना **")} NoMethodError: अपरिभाषित विधि 'परिवर्तन 'के लिए 1: फिक्सनम # ./spec/models/line_spec.rb:7:in 'ब्लॉक (2 स्तर) <शीर्ष (आवश्यक)>' – slindsey3000

+0

में यह मेरे लिए भी काम करता है, लेकिन यदि आप विशिष्टता को सत्यापित करना चाहते हैं तो ' -> {home_team.nil? } ', आप इसका परीक्षण कैसे करेंगे? – Caleb