this article'de açıklandığı gibi, bağlantılarda otomatik ilişkilendirmeler kullanıyorum. Örneğin, bir bölge nesnesi "country_id" yerine, bir ülke kimliğine sahipse: 1, "ülke" yi yapıyorum: "ABD". "USA", country.yml dosyasındaki bir etikettir, dolayısıyla fikstür, bunun nasıl yapıldığını bilir. Ancak, bu yalnızca, ülkeler nesnesinde bir ID değeri belirtmediğinizde çalışır. Bu yüzden ABD'nin kimliğini 1 olarak atayamıyorum. Ama eğer 1 olarak atamazsam, 8974343 gibi büyük bir değer ... ... ki bu biraz garip. Süper yüksek olmayan otomatik üretmek için fikstür almak için bir yolu var mı? .... ya da bu tamam mı?Raylardaki tutturmalarda otomatik ilişkilendirmeler
cevap
API belgelerini okurken, bu tam olarak nasıl kendiliğinden tutturulmuş demirbaşların nasıl davranması gerektiği - eğer önceden bir fikstür için belirli bir ID değerine sahip olmak istiyorsanız, muhtemelen bunu kendiniz atamanız gerekir.
Değilse, iyi, API dokümanlardan:
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.
biz bizim kadar uzun, hiçbir şey yüklemeden herhangi fikstürü kimliğini keşfetmek nasıl" var etiketi okuyunuz ")
Bu, fikstür etiketinin otomatik olarak oluşturulmuş bir kimliğini nasıl alırsınız. Ben yorum için yeterli bir üne sahip olmadığından
Fixtures.identify(:reginald)
, bu fiili Raylar 4.1 belgelerine geçerli:
Armatür etiket interpolasyon altında http://edgeapi.rubyonrails.org/classes/ActiveRecord/FixtureSet.html#class-ActiveRecord::FixtureSet-label-Fixture+label+interpolation
:
monkey_id: <%= ActiveRecord::FixtureSet.identify(:reginald) %>
pirate_id: <%= ActiveRecord::FixtureSet.identify(:george) %>
otomatik test için sabitleme bütünlüğünü zorla
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. sails.js'deki ilişkilendirmeler aracılığıyla
- 2. Raylardaki gizli alan
- 3. Raylardaki izinsiz sayım 4
- 4. Raylardaki Geçerli Kullanıcı
- 5. raylardaki basit json çıkışı
- 6. Ruby Datamapper tablosu ilişkilendirmeleri ile ilişkilendirmeler
- 7. İlk_or_create yöntemi, Rails'deki ilişkilendirmeler için çalışıyor mu?
- 8. Raylardaki modeller için varsayılan değerler
- 9. Raylardaki CSRF belirtecini kapatın 3
- 10. javascript dosyaları nasıl ayarlanır: raylardaki varsayılanlar 4?
- 11. Raylardaki param değişkenler için değişken ekleme
- 12. varsayılan tarih formatını raylardaki yakutta değiştirilsin mi?
- 13. Raylardaki yakut seviyesinde seviye temelli kontroller
- 14. Bir mySQL Veritabanını raylardaki yakutta nasıl kopyalarım?
- 15. Raylardaki ilgili modellerin bir listesini alma
- 16. Raylardaki yakutta nasıl bir iletişim formu oluşturabilirim?
- 17. Raylardaki grip sürgüsünü kullanma basit form eki
- 18. Raylardaki rubileri d3.js'ye nasıl aktarabilirim?
- 19. Hazırda bekletme - iki sınıf arasındaki çoktan çoğa ilişkilendirmeler
- 20. İki polimorfik has_many ile ray modeli: nesne etiketleme için ilişkilendirmeler
- 21. İlişkilendirmeler has_one veya has_many olup olmadığını belirler Raylar
- 22. Varsayılan eylem, jQuery tarafından raylardaki yakıdaki kısmi veri üzerinde gerçekleştirildi
- 23. S3 dosyalarını (nesneler) raylardaki yakut için aws-sdk kullanarak indirme
- 24. Raylardaki bir tablodan üst kayıt ile aynı kimlikle kayıt oluşturma
- 25. HTML etiketlerini raylardaki veritabanına güvenli bir şekilde nasıl kaydedebilir/alabilirsiniz?
- 26. Raylardaki belirli koşullara göre birden çok kaydı silme
- 27. Raylardaki yardımcı dosyalar ile lib dosyaları arasındaki fark
- 28. otomatik
- 29. otomatik
- 30. otomatik
Neden insanlar cevapları kabul ediyorlar, oy vermiyorlar? –