SORU
17 AĞUSTOS 2013, CUMARTESİ


Raylar 4 has_many kaldırılan uyarı emri ile

class RelatedList < ActiveRecord::Base
  extend Enumerize

  enumerize :list_type, in: %w(groups projects)

  belongs_to :content
  has_many :contents, :order => :position

end

Konsol kayıtları oluşturmaya çalışırken uyarı atar benim raylar bu modeli uygulamam var.

ADMİN UYARI: aşağıdaki seçenekleri içinde RelatedList.has_many :beyan edilmez içeriği: :sipariş. Kapsam bir blok kullanın lütfen. Örneğin, aşağıdaki: has_many :spam_comments, koşulları: { spam: true }, class_name: 'Yorum' aşağıdaki gibi yazılmış olmalıdır: has_many :spam_comments, ->{ nereye spam: true }, class_name: 'Yorum' . (/Users/at aradı/related_list/Kod/auroville/avorg/app/models shivam.:7 rb)

4 yeni Raylar var gibi görünüyor :sipariş modelleri kullanmak için sözdizimi ama Raylar Kılavuzları belgeleri bulmak için görünmüyor olabilir.

CEVAP
17 AĞUSTOS 2013, CUMARTESİ


Raylar 4 :order kullanımdan kaldırıldı ve söz konusu yayınladığınız uyarı görüldüğü gibi lambda kapsam blok ile değiştirilmesi gerekir. Unutulmaması gereken bir diğer nokta ise, bu kapsam blok dependent: :destroy gibi dernek seçenekleri diğer vb önce geçmesi gereken.

Bu bir deneyin:

has_many :contents, -> { order(:position) }

@Joshua-coady ve @wsprujit öne sürdüğü gibi, yani ya asc desc yön düzeni belirtmek için kullanın:

has_many :contents, -> { order 'position desc' }

ya da, bir karma stilini kullanarak

has_many :contents, -> { order(position: :desc) }

Active Record Scopes for has_many daha fazla referans.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008