«rails-activerecord» etiketlenmiş sorular

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

26
ActiveRecord'da varsayılan değerleri nasıl ayarlayabilirim?
ActiveRecord'da varsayılan değeri nasıl ayarlayabilirim? Pratik'ten çirkin, karmaşık bir kod yığınını tanımlayan bir yazı görüyorum: http://m.onkey.org/2007/7/24/how-to-set-default-values-in-your-model class Item < ActiveRecord::Base def initialize_with_defaults(attrs = nil, &block) initialize_without_defaults(attrs) do setter = lambda { |key, value| self.send("#{key.to_s}=", value) unless !attrs.nil? && attrs.keys.map(&:to_s).include?(key.to_s) } setter.call('scheduler_type', 'hotseat') yield self if block_given? end end alias_method_chain :initialize, …

11
Bir Activerecord kaydını çoğaltmanın en kolay yolu nedir?
İşlemdeki tek bir alanı değiştirerek ( kimliğe ek olarak ) bir activerecord kaydının bir kopyasını yapmak istiyorum . Bunu başarmanın en basit yolu nedir? Yeni bir kayıt oluşturabileceğimin farkındayım ve daha sonra verileri alanlara göre kopyalayarak alanların her birini yineliyorum - ancak bunu yapmanın daha kolay bir yolu olması gerektiğini …



5
Ruby sınıfının adını nasıl alabilirim?
ActiveRecord nesnesinden sınıf adını nasıl alabilirim? Sahibim: result = User.find(1) Denedim: result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>" Bir dize ( Userbu durumda) , sadece sınıf adı gerekir . Bunun için bir yöntem var mı? Bunun oldukça basit olduğunu biliyorum, ama hem Rails 'hem de …

4
Update_attributes kaydetmeden raydan çıkıyor mu?
Kaydı kaydetmeyen update_attributes için bir alternatif var mı? Yani şöyle bir şey yapabilirdim: @car = Car.new(:make => 'GMC') #other processing @car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "Super Sexy, wanna make love to it") #other processing @car.save BTW, yapabileceğimi biliyorum @car.model = 'Sierra', ama hepsini tek bir satırda güncellemek …

5
NOT NIL kullanarak durumun raylar
Raylar 3 stilini kullanarak tam tersini nasıl yazarım: Foo.includes(:bar).where(:bars=>{:id=>nil}) Nerede id nil değil bulmak istiyorum. Denedim: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Ama bu geri dönüyor: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" Kesinlikle ihtiyacım olan şey bu değil ve neredeyse ARel'de bir böcek gibi görünüyor.

8
Raylar: içerir vs.: birleşimler
Bu, "Bunu nasıl yapacağımı bilmiyorum" sorusundan ziyade, "işler neden bu şekilde çalışıyor" sorusundan daha fazlası ... Bu nedenle, kullanacağınızı bildiğiniz ilişkili kayıtları çekme müjdesi kullanmaktır, :includeçünkü birleştirme elde edersiniz ve bir sürü ekstra sorgudan kaçınırsınız: Post.all(:include => :comments) Ancak günlüklere baktığınızda, birleşme gerçekleşmez: Post Load (3.7ms) SELECT * FROM "posts" …


7
Rails 4'te bir referans sütun geçişi ekleme
Bir kullanıcının birçok yüklemesi var. Bir sütun eklemek istiyorumuploadsBaşvuru yapan tabloyauser . Göç nasıl olmalı? İşte sahip olduğum şey. (1) :user_id, :intveya (2) kullanmam gerektiğinden emin değilim :user, :references. (2) 'nin çalışıp çalışmadığından bile emin değilim. Sadece bunu "raylar" yolu yapmaya çalışıyorum. class AddUserToUploads < ActiveRecord::Migration def change add_column :uploads, …

8
Ruby on Rails model alanı oluşturur: type - alan: type için seçenekler nelerdir?
Yeni bir model oluşturmaya ve başka bir modelin kimliğine başvurmak için sözdizimini unutmaya çalışıyorum. Kendime bakardım, ama tüm Ruby on Rails dokümantasyon linklerim arasında kesin kaynağı nasıl bulacağımı anlayamadım. $ rails g model Item name:string description:text(ve burada ya reference:productda references:product). Ancak daha iyi soru, gelecekte bu tür bir aptallığı nerede …

3
ActiveRecord'da Float ve Ondalık
Bazen, Activerecord veri türleri kafamı karıştırıyor. Err, sık sık. Sonsuz sorularımdan biri, belirli bir vaka için, Kullanmalı mıyım :decimalyoksa :float? Sık sık bu bağlantıya rastladım, ActiveRecord:: decimal vs: float? , ancak cevaplar kesin olmam için yeterince açık değil: İnsanların asla şamandıra kullanmamaları ve her zaman ondalık kullanmaları için düz olarak …

7
ActiveModel :: Yeni kullanıcı oluştururken ForbiddenAttributesError
Ruby'de bu model var ama ActiveModel::ForbiddenAttributesError class User < ActiveRecord::Base attr_accessor :password validates :username, :presence => true, :uniqueness => true, :length => {:in => 3..20} VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, :uniqueness => true, format: { with: VALID_EMAIL_REGEX } validates :password, :confirmation => true validates_length_of :password, :in => 6..20, …

15
ActiveRecord / Rails ile bir NOT IN sorgusu nasıl ifade edilir?
Sadece bunu güncellemek için birçok insan buna geliyor gibi görünüyor, Rails 4 kullanıyorsanız Trung Lê` ve VinniVidiVicci'nin cevaplarına bakın. Topic.where.not(forum_id:@forums.map(&:id)) Topic.where(published:true).where.not(forum_id:@forums.map(&:id)) Ben umarım içermeyen kolay bir çözüm olduğunu umuyorum find_by_sql, eğer o zaman işe yarayacak sanırım. Bu makaleye başvuran bu makaleyi buldum : Topic.find(:all, :conditions => { :forum_id => @forums.map(&:id) …

6
ActiveRecord: boyut ve sayı
Raylar, her iki kullanarak kayıt sayısını bulabilirsiniz Model.sizeve Model.count. Daha karmaşık sorgularla uğraşıyorsanız, bir yöntemi diğerine göre kullanmanın bir avantajı var mı? Nasıl farklılar? Örneğin, fotoğraflı kullanıcılara sahibim. Bir kullanıcı tablosu ve kaç tane fotoğrafı olduğunu göstermek istersem, birçok örneği çalıştırmak user.photos.sizedaha hızlı mı yoksa daha yavaş user.photos.countmı olur ? …

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.