«rails-activerecord» etiketlenmiş sorular

Ruby on Rails çerçevesindeki Aktif Kayıt modelini kullanarak nesne ilişkisel eşlemenin (ORM) uygulanması.


12
find vs find_by vs where
Raylarda yeniyim. Bir kayıt bulmanın birçok yolu olduğunu görüyorum: find_by_<columnname>(<columnvalue>) find(:first, :conditions => { <columnname> => <columnvalue> } where(<columnname> => <columnvalue>).first Görünüşe göre hepsi tamamen aynı SQL'i oluşturuyor. Aynı şeyin birden fazla kayıt bulmak için de geçerli olduğuna inanıyorum: find_all_by_<columnname>(<columnvalue>) find(:all, :conditions => { <columnname> => <columnvalue> } where(<columnname> => …




7
ActiveRecord modelinde bir alıcı yönteminin üzerine nasıl yazabilirim?
ActiveRecord modeli için bir alıcı yönteminin üzerine yazmaya çalışıyorum. nameModelde adında bir özelliğim var Categoryve bunun gibi bir şey yapabilmek istiyorum: def name name_trans || name end Eğer name_transnitelik nil değil, o zaman, başka dönüş iade nameniteliği. Bunu nasıl yaparım? Bu daha sonra normal olarak şu şekilde çağrılmalıdır: @category.name

2
Rails 4'te has_many: through: uniq kullanılırken kullanımdan kaldırma uyarısı
Rails 4, has_many: through ile: uniq => true kullanılırken bir kullanımdan kaldırma uyarısı getirdi. Örneğin: has_many :donors, :through => :donations, :uniq => true Aşağıdaki uyarıyı verir: DEPRECATION WARNING: The following options in your Goal.has_many :donors declaration are deprecated: :uniq. Please use a scope block instead. For example, the following: has_many …

3
ActiveRecord seçili sütunları bulur ve yalnızca döndürür
düzenleme 2 Buna rastlarsanız, şimdi bunun için koparmak kullanacağım için iki yanıtı da kontrol edin Json olarak yankılanmak üzere geri dönmek istediğim oldukça büyük bir özel veri kümem var. Bir bölümü: l=Location.find(row.id) tmp[row.id]=l ama şöyle bir şey yapmak istiyorum: l=Location.find(row.id).select("name, website, city") tmp[row.id]=l ama bu işe yaramıyor gibi görünüyor. Bunu …

2
Raylarda bir sütun türünü daha uzun dizelerle değiştirme
İlk migrasyonda, contentActiverecord dizgesini bir sütunda ilan ettim, onu annotate gem'e göre string (255) yaptı. Uygulamayı postgres kullanan heroku'ya aktardıktan sonra, forma içerikte 255'ten daha uzun bir dizge girersem hata alıyorum PGError: ERROR: value too long for type character varying(255) Sorun şu ki, bu içeriğin son derece uzun bir dizge …

9
Başarısız bir Rails geçişini geri alma
Başarısız bir ray geçişini nasıl geri alırsınız? Bunun rake db:rollbackbaşarısız geçişi geri almasını beklerdim , ancak hayır, önceki geçişi geri alır (başarısız geçiş eksi bir). Ve rake db:migrate:down VERSION=myfailedmigrationçalışmıyor da. Bununla birkaç kez karşılaştım ve bu çok sinir bozucu. İşte sorunu tekrarlamak için yaptığım basit bir test: class SimpleTest < …
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.