SORU
27 Temmuz 2009, PAZARTESİ


Raylar Varsayılan Değerleri Ayarlamak için doğru Yolu

"En iyi" raylar. nesneleri için varsayılan değerleri ayarlamak için bir yol bulmaya çalışıyorum Düşünebildiğim en iyi"," denetleyicisi. yöntem yeni varsayılan değeri ayarlamak için. Eğer bunu yapmak için daha iyi bir yolu eğer orada biri varsa, bu kabul edilebilir ise parmağın var ya?

CEVAP
27 Temmuz 2009, PAZARTESİ


"Doğru" Ruby. tehlikeli bir kelime. Genellikle bir şey yapmak için birden fazla yolu vardır. Olacağımı biliyorumher zamano masada o sütun için varsayılan değer, DB geçiş için bir resim ayar istiyor. en kolay yolu:

class SetDefault < ActiveRecord::Migration
  def self.up
    change_column :people, :last_name, :default => "Doe"
  end

  def self.down
    # You can't currently remove default values in Rails
    raise ActiveRecord::IrreversibleMigration, "Can't remove the default"
  end
end

ActiveRecord tablo ve sütun özellikleri autodiscovers çünkü, bu aynı varsayılan herhangi bir modeli herhangi bir standart Raylar app kullanarak ayarlamak neden olur.

Ancak, eğer sadece sen istiyorsun varsayılan değerlerine ayarlanmış belirli durumlarda, bir miras modeli paylaşan bir tablo ile bazı diğerleri daha sonra bir başka zarif bir şekilde bunu doğrudan sizin Raylar kodu model nesnesi oluşturulur:

class GenericPerson < Person
  def initialize(attributes=nil)
    attr_with_defaults = {:last_name => "Doe"}.merge(attributes)
    super(attr_with_defaults)
  end
end

Ne zaman sonra, bir GenericPerson.new(), her zaman sızıntı olacak "Doe" sana başka bir şey ile iptal sürece Person.new() için öznitelik.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • majesticdubstep

    majesticdubs

    3 Kasım 2011
  • SPBedition

    SPBedition

    24 HAZİRAN 2013