जैसा कि this article में वर्णित है, मैं फिक्स्चर में स्वचालित संघों का उपयोग कर रहा हूं। उदाहरण के लिए, यदि किसी क्षेत्र ऑब्जेक्ट में देश देश है, तो "country_id" करने के बजाय: 1, मैं "देश" करता हूं: "यूएसए"। "यूएसए" मेरे देशों में एक लेबल है। फ़ाइल फ़ाइल, इसलिए फिक्स्चर जानता है कि इसका ख्याल कैसे रखा जाए। हालांकि, यह केवल तभी काम करता है जब आप देशों के ऑब्जेक्ट के लिए आईडी मान निर्दिष्ट नहीं करते हैं। इसलिए मैं संयुक्त राज्य अमेरिका की आईडी 1 को असाइन नहीं कर सकता। लेकिन अगर मैं इसे 1 नहीं मानता, तो यह कुछ बड़े मूल्य 8974343 होने के समाप्त होता है ... जो कि अजीब है। क्या आईडी को ऑटो-जेनरेट करने के लिए फिक्स्चर प्राप्त करने का कोई तरीका है जो सुपर उच्च नहीं है? .... या यह ठीक है?रेल फिक्स्चर पर रूबी में स्वचालित संघ
उत्तर
एपीआई दस्तावेज पढ़ना, यह बिल्कुल ठीक है कि स्वत: जेनरेट किए गए फिक्स्चर का व्यवहार कैसे किया जाना चाहिए - यदि आप पहले से ही एक स्थिरता के लिए एक विशिष्ट आईडी मान चाहते हैं, तो आपको शायद इसे स्वयं असाइन करना चाहिए।
यदि नहीं, ठीक है, एपीआई डॉक्स से:
The generated ID for a given label is constant, so we can discover any fixture‘s ID without loading anything, as long as we know the label.
स्थिरता के आईडी इसका नाम (hashing से सीधे आता है कि कैसे "हम हम के रूप में कुछ भी लोड किए बिना किसी भी स्थिरता की आईडी की खोज कर सकते हैं, जब तक है लेबल को जानें ")
इस प्रकार आप स्थिरता लेबल की स्वत: जेनरेटेड आईडी प्राप्त करते हैं।
Fixtures.identify(:reginald)
चूंकि इस SO लेख ने मुझे बहुत मदद की, मैं रेल 4.1.0.rc1 के लिए एक अद्यतन देना चाहता हूं: <% = ActiveRecord :: FixtureSet.identify (: reginald)%> – Chris
मुझे कक्षा को शामिल करना था लेबल को संदर्भित किया गया। http://ruby-journal.com/rails/define-fixtures-with-polymorphic-association/ – Shadoath
जब से मैं टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा नहीं है, यह वास्तविक रेल है 4.1 प्रलेखन:
स्थिरता लेबल प्रक्षेप के तहत:
monkey_id: <%= ActiveRecord::FixtureSet.identify(:reginald) %>
pirate_id: <%= ActiveRecord::FixtureSet.identify(:george) %>
स्वचालित परीक्षण करने के लिए लागू स्थिरता अखंडता
class FixtureIntegrityTest < ActiveSupport::TestCase
context "fixture integrity" do
should "work" do
fixtures = Dir["test/fixtures/*.yml"].map do |file|
[file, File.basename(file).sub(/\..*/, "").singularize, YAML.load(ERB.new(File.read(file)).result)]
end
failures = fixtures.reject(&:last).map { |file,*| "#{file} is empty!"}
failures = failures.presence || fixtures.map do |_, klass, content|
content.select{ |_,fixture| fixture["id"] }.map do |name, _|
fixtures.map do |file, _, content|
content.select { |_,fixture| fixture[klass] == name }.map do |_, fixture|
"#{file} uses #{klass}: #{name}, but should use the id!"
end
end
end
end.flatten.compact
assert_equal [], failures
end
end
end
- 1. रेल: has_one संघ पर बनाने
- 2. रेल फिक्स्चर आरएसपीईसी
- 3. रेल फिक्स्चर बनाम मोक्स
- 4. रेल संघ और फॉर्म
- 5. रेल पर रूबी में लॉग रोटेशन/समाशोधन
- 6. रूबी: घोषणात्मक_आधिकरण पॉलिमॉर्फिक संघ
- 7. रेल पर रूबी के साथ स्वचालित परीक्षण - सर्वोत्तम प्रथाओं
- 8. रूबी बनाम रूबी रेल पर
- 9. रेल पर रूबी में ब्रेडक्रंब
- 10. रेल पर रूबी में मैं
- 11. रेल 3 - जहां संघ
- 12. रेल फिक्स्चर में, क्वांटिन कौन है?
- 13. रेल यूनिट परीक्षण संघ
- 14. रेल पर रूबी में पिछले 20%
- 15. रेल पर रूबी: लेआउट
- 16. रेल पर रूबी: आईआरबी
- 17. रेल पर रूबी
- 18. रेल पर रूबी: स्ट्रिंग
- 19. रेल पर रूबी:
- 20. रेल पर रूबी: मॉडल
- 21. रेल पर डॉक्सप्लिट रूबी
- 22. रेल पर रूबी - लेआउट
- 23. रेल पर रूबी: पथ
- 24. रेल पर रूबी:: submodels
- 25. रेल पर रूबी
- 26. रेल मार्गों पर रूबी -
- 27. रेल पर उत्पन्न रूबी
- 28. रेल पर रूबी:
- 29. रेल पर रूबी
- 30. रेल पर रूबी अद्वितीय
आपको क्यों लगता है कि लोग उत्तर स्वीकार करते हैं लेकिन उन्हें वोट नहीं देते? –