복붙노트

[RUBY-ON-RAILS] 주문에 레일 4 has_many에 대한 사용되지 않는 경고

RUBY-ON-RAILS

주문에 레일 4 has_many에 대한 사용되지 않는 경고

class RelatedList < ActiveRecord::Base
  extend Enumerize

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

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

end

나는 콘솔에서 레코드를 만들려고 할 때 경고를 던졌습니다 내 레일 응용 프로그램에서이 모델을 가지고있다.

모델에서 사용하기 위해 구문하지만 난 레일 가이드에서 문서를 찾을 수 없습니다 : 레일 (4)는 새를 가지고 것 같다.

해결법

  1. ==============================

    1.레일 4 년 : 순서는 사용되지 않으며 당신이 질문을 게시 한 경고와 같이 람다 범위를 블록으로 대체 할 필요가있다. 참고로 또 다른 점은이 범위 블록은 의존과 같은 다른 연결 옵션 전에 전달 될 필요가 있다는 것입니다 : 파괴 등

    레일 4 년 : 순서는 사용되지 않으며 당신이 질문을 게시 한 경고와 같이 람다 범위를 블록으로 대체 할 필요가있다. 참고로 또 다른 점은이 범위 블록은 의존과 같은 다른 연결 옵션 전에 전달 될 필요가 있다는 것입니다 : 파괴 등

    이것을를 사용 해보세요 :

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

    순서 방향을 지정하려면, 즉 @로 하나 오름차순 또는 내림차순 조슈아을-coady 및 @wsprujit이 제안, 사용 :

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

    또는, 해시 스타일을 사용하여 :

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

    has_many에 대한 액티브 레코드 스코프에 대한 자세한 참조.

  2. ==============================

    2.그것은 나에게 명령을 수행하는 방법을 알아 내기 위해 잠시했다 및 포함, 나는 결국, 당신은 범위 문을 체인 발견

    그것은 나에게 명령을 수행하는 방법을 알아 내기 위해 잠시했다 및 포함, 나는 결국, 당신은 범위 문을 체인 발견

    has_many :things, -> { includes(:stuff).order("somedate desc") }, class_name: "SomeThing"
    
  3. ==============================

    3.그냥 내가 당신이 어떤 옵션 해시 인수가있는 경우, 그들은 다음과 같이 람다 후 어디로 이동해야한다는 추가 거라고 생각 :

    그냥 내가 당신이 어떤 옵션 해시 인수가있는 경우, 그들은 다음과 같이 람다 후 어디로 이동해야한다는 추가 거라고 생각 :

    has_many :things, -> { order :stuff }, dependent: :destroy
    

    희망이 같은 문제가이 질문에 오는 다른 사람 도움이 - 나에게 자신이 밖으로을 파악하는 분했다.

  4. ==============================

    4.레일 4 MongoDB를 가진 나를 위해이 작품

    레일 4 MongoDB를 가진 나를 위해이 작품

    has_many :discounts, order: :min_amount.asc
    
  5. ==============================

    5.다른 방법으로는 예를 들어, 모델에 주문 절을 넣을 수 있습니다 :

    다른 방법으로는 예를 들어, 모델에 주문 절을 넣을 수 있습니다 :

    has_many :options, order: 'name' # In class Answer
    

    이되다

    has_many :options # In class Answer
    
    default_scope { order 'name' } # In class Option
    

    PS : 내가하면 ArgumentError를 가지고 : 인수의 잘못된 번호 (0 1) has_many을 할 때 : 일, -> {}.

  6. from https://stackoverflow.com/questions/18284606/deprecated-warning-for-rails-4-has-many-with-order by cc-by-sa and MIT license