«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.

5
Active Record, Rails & Postgres ile birden çok yinelenen alana sahip satırları bulun
Postgres ve Activerecord kullanarak birden çok sütunda yinelenen değerlere sahip kayıtları bulmanın en iyi yolu nedir? Bu çözümü burada buldum : User.find(:all, :group => [:first, :email], :having => "count(*) > 1" ) Ancak postgres ile çalışmıyor gibi görünüyor. Bu hatayı alıyorum: PG :: GroupingError: ERROR: "parts.id" sütunu GROUP BY yan …


6
Modelde yardımcıları kullanma: yardımcı bağımlılıkları nasıl dahil ederim?
Bir metin alanından kullanıcı girişini işleyen bir model yazıyorum. Http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input'taki tavsiyeye uyarak , before_validate'i kullanarak veritabanına kaydetmeden önce modeldeki girdiyi temizliyorum geri aramak. Modelimin ilgili kısımları şuna benzer: include ActionView::Helpers::SanitizeHelper class Post < ActiveRecord::Base { before_validation :clean_input ... protected def clean_input self.input = sanitize(self.input, :tags => %w(b i u)) end …

13
ActiveRecord.find (array_of_ids), koruma düzeni
Rails'de yaptığınızda Something.find(array_of_ids), ortaya çıkan dizinin sırası, sırasına bağlı değildir array_of_ids. Düzeni bulmanın ve korumanın bir yolu var mı? ATM Kayıtları kimlik sırasına göre manuel olarak sıralıyorum, ancak bu biraz yetersiz. UPD: sırayı :orderparam ve bir tür SQL cümlesi kullanarak belirtmek mümkünse , o zaman nasıl?

10
Sıfırdan büyük ilişkilendirme sayısına sahip tüm kayıtları bulun
Basit olacağını düşündüğüm bir şey yapmaya çalışıyorum ama öyle görünmüyor. Çok sayıda boş pozisyonu olan bir proje modelim var. class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end En az 1 boş pozisyonu olan tüm projeleri almak istiyorum. Bunun gibi bir şey denedim: Project.joins(:vacancies).where('count(vacancies) > 0') ama diyor ki …

8
Bir kaydın yeni kaydetme sonrasında oluşturulup oluşturulmadığını veya güncellendiğini belirleme
#New_record? işlevi, bir kaydın kaydedilip kaydedilmediğini belirler. Ama after_savekancada her zaman yanlıştır . Kaydın yeni oluşturulmuş bir kayıt mı yoksa güncellemeden eski bir kayıt mı olduğunu belirlemenin bir yolu var mı? before_createModelde bir bayrak ayarlamak veya db'ye başka bir sorgu gerektirmek gibi başka bir geri arama kullanmamayı umuyorum . Herhangi …

5
Nesne dizisini öznitelik değerine göre filtreleyen raylar
Bu yüzden, db için bir sorgu gerçekleştiriyorum ve eksiksiz bir nesne dizisine sahibim: @attachments = Job.find(1).attachments Şimdi ben başka db sorgusu yapmak istemiyorum nesneler dizisi var, ama esas dizi filtre istiyorum Attachmentnesnenin var file_typeben bir listesi var, böylece attachmentsdosya türü olduğu 'logo've daha sonra bir başka liste attachmentsdosya türü'image' Bunun …

8
kayıt yokken nil ile find ()
Şu anki rails programımda şöyle bir şey kullandığımda user = User.find(10) ID = 10 olan bir kullanıcı olmadığında, şöyle bir istisnam olacak: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 İstisnayı yükseltmek yerine sıfır alabilir miyim, yani şöyle bir şey yaptığımda: unless user = Challenge.find(10) puts "some error msg" end Sadece kayıt …

3
has_many'ye kayıtlar nasıl eklenir: raylardaki ilişkilendirme yoluyla
class Agents << ActiveRecord::Base belongs_to :customer belongs_to :house end class Customer << ActiveRecord::Base has_many :agents has_many :houses, through: :agents end class House << ActiveRecord::Base has_many :agents has_many :customers, through: :agents end İçin Agentsmodele nasıl eklerim Customer? En iyi yol bu mu? Customer.find(1).agents.create(customer_id: 1, house_id: 1) Yukarıdakiler konsoldan iyi çalışıyor, ancak …

1
Raylarda iki sütuna benzersiz bir dizin nasıl uygulanır
Bir tablom var ve iki sütuna benzersiz bir dizin eklemeye çalışıyorum. Bu sütunlar da indekslenir. Öyleyse sorum şu ki, sadece bir sütun için olan dizinleri kaldırabilir miyim veya üç dizini de kullanmam gerekirse: add_index "subscriptions", ["user_id"] add_index "subscriptions", ["content_id"] add_index "subscriptions", ["user_id"], ["content_id"], :unique => true

7
Raylar sihir yaratır mı yoksa günceller mi?
CachedObjectAnahtar tarafından indekslenmiş genel serileştirilmiş nesneleri depolayan bir sınıfım var . Bu sınıfın bir create_or_updateyöntem uygulamasını istiyorum . Bir nesne bulunursa, onu günceller, aksi takdirde yeni bir tane oluşturur. Bunu Rails'de yapmanın bir yolu var mı yoksa kendi yöntemimi mi yazmam gerekiyor?

4
Rails'de bir özniteliğin orijinal değeri nasıl elde edilir
ActiveRecord özniteliğinin orijinal değerini (= veritabanından yüklenen değer) almanın bir yolu var mı? Bir gözlemcide böyle bir şey istiyorum before_save object do_something_with object.original_name end Görev, güncelleme üzerine nesneyi bir karma tablodan kaldırmaktır (aslında, tablodaki başka bir anahtara taşımaktır).

4
Has_many nasıl uygulanır: Mongoid ve mongodb ile ilişkiler aracılığıyla?
Rails kılavuzlarındaki bu değiştirilmiş örneği kullanarak, mongoid kullanarak ilişkisel bir "has_many: through" ilişkilendirmesi nasıl modellenir? Buradaki zorluk, mongoid'in ActiveRecord'un yaptığı gibi has_many: through'ı desteklememesidir. # doctor checking out patient class Physician < ActiveRecord::Base has_many :appointments has_many :patients, :through => :appointments has_many :meeting_notes, :through => :appointments end # notes taken during …

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 …

1
Rails bir veritabanı için hangi geçişlerin çalıştığını nasıl takip eder?
Rails belgesine göre: http://guides.rubyonrails.org/migrations.html "Aktif Kayıt, geçişlerin zaten çalıştırılmış olduğunu izler, bu nedenle tek yapmanız gereken kaynağınızı güncellemek ve rake db: migrate'i çalıştırmaktır." ActiveRecord bunu gerçekten nasıl yapıyor? Active Record verileri nerede saklıyor? Bunun veritabanının kendisinde saklanabileceğinden şüpheleniyorum? Bir yerde bir masada. Geliştirme makinemde tüm geçişleri yaptım. Daha sonra üretim …

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.