«activerecord» etiketlenmiş sorular

Aktif Kayıt, etki alanı mantığını depolama soyutlamayla tek bir nesnede birleştiren bir kalıptır. Bu etiketi model hakkındaki sorular için, [rails-activerecord] Rails ORM çerçevesiyle ilgili sorular için kullanın.


9
Boş bir ActiveRecord ilişkisi nasıl döndürülür?
Eğer bir lambda ile bir kapsamı varsa ve argümanın değerine bağlı olarak bir argüman alırsa, herhangi bir eşleşme olmayacağını biliyor olabilirim, ama yine de boş bir dizi değil, bir ilişki döndürmek istiyorum: scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] } Gerçekten istediğim, "zincirleme", yine …

11
Raylar: bir sütundan benzersiz değerler seçin
Zaten çalışan bir çözümüm var, ancak bunun neden işe yaramadığını bilmek istiyorum: ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } Seçer, ancak benzersiz değerleri yazdırmaz, kopyalar dahil tüm değerleri yazdırır. Ve belgelerde: http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

6
Raylı tırmık görevleri ActiveRecord modellerine erişim sağlıyor mu?
Özel bir komisyon görevi oluşturmaya çalışıyorum, ancak modellerime erişimim yok gibi görünüyor. Bunun örtük bir şekilde raylar görevine dahil olduğunu düşündüm. Ben lib / görevleri / test.rake aşağıdaki kodu var: namespace :test do task :new_task do puts Parent.all.inspect end end Ve işte ana modelim şöyle: class Parent < ActiveRecord::Base has_many …


19
Rails modelinde büyük / küçük harfe duyarlı olmayan arama
Ürün modelim bazı öğeler içeriyor Product.first => #<Product id: 10, name: "Blue jeans" > Şimdi başka bir veri kümesinden bazı ürün parametrelerini içe aktarıyorum, ancak adların yazımında tutarsızlıklar var. Örneğin, diğer veri kümesinde Blue jeanshecelenebilir Blue Jeans. İstedim Product.find_or_create_by_name("Blue Jeans"), ama bu yeni bir ürün yaratacak, neredeyse ilkiyle aynı. Küçük …

6
Bu ActiveRecord :: ReadOnlyRecord hatasına yola açan
Bu , cevaplanan bu önceki soruyu takip eder . Aslında ben bu sorgudan birleştirme kaldırabilirsiniz keşfetti, şimdi çalışma sorgusu start_cards = DeckCard.find :all, :joins => [:card], :conditions => ["deck_cards.deck_id = ? and cards.start_card = ?", @game.deck.id, true] Bu işe yarıyor gibi görünüyor. Ancak, bu DeckCard'ları başka bir ilişkilendirmeye taşımaya çalıştığımda …

5
Find_or_create_by adlı kişiyi birden fazla özelliğe bağlar mı?
Aktif kayıtta find_or_create_by adlı kullanışlı bir dinamik özellik var: Model.find_or_create_by_<attribute>(:<attribute> => "") Ama birden fazla özniteliğe göre find_veya_oluşturmam gerekirse ne olur? Diyelim ki Grup ile Üye arasında GroupMember adlı bir M: M ilişkisini ele alacak bir modelim var. Üye_id = 4 nerede birçok örnekleri olabilir, ama ben asla birden fazla …


4
delete_all vs destroy_all?
Bir tablodan kayıtları silmek için en iyi yaklaşımı arıyorum. Örneğin, kullanıcı kimliği birçok tabloda olan bir kullanıcı var. Bu kullanıcıyı ve tüm tablolarda kimliğini içeren her kaydı silmek istiyorum. u = User.find_by_name('JohnBoy') u.usage_indexes.destroy_all u.sources.destroy_all u.user_stats.destroy_all u.delete Bu çalışır ve kullanıcının tüm tablolardan tüm referansları kaldırır, ama destroy_allçok işlem ağır olduğunu …



10
Raylar 3 taşıma: Referans sütunu eklensin mi?
Yeni bir ray oluşturduğumda 3 geçiş (örneğin) rails g migration tester title:tester user:references , her şey iyi çalışıyor ... Ancak ben satırları boyunca bir şey ile bir sütun eklerseniz: rails g migration add_user_to_tester user:references referans alanı tanınmıyor. Kısacası, soru şu: Komut satırından raylar geçişine nasıl bir başvuru sütunu ekleyebilirim?


4
ActiveRecord öznitelik yöntemlerini geçersiz kılma
Neden bahsettiğime bir örnek: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Bu işe yarıyor gibi görünüyor, ama sadece öznitelik yöntemleri geçersiz kılma bölümü okudum ActiveRecord :: Base belgelerinde ve read_attributeve write_attributeyöntemlerini kullanmanızı …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.