문제

좋아, 나는 열렬한 적재 물건을 가지고 놀았으며 다음과 같은 두 가지 모델을 가지고 있습니다.

Class Recipe < ActiveRecord::Base
    belongs_to :cookbook
    has_many   :recipetags
end

그리고

Class Cookbook < ActiveRecord::Base
    has_many :recipes, :include => [:recipetags]
end

요리 책을 찾을 때 잘 작동하고 레시피를 열망하고 레시피가 열망하는 것을 열망합니다.

cb = Cookbook.find(10590, :include => [:recipes])

그러나 제가하고 싶은 것은 레시피를 열 때마다 자동으로 간절한 관계를 차지하게하는 것입니다. 기본적으로하고 싶습니다.

rec = Recipe.find(123)

그리고이 경우 수신기도 열망하십시오.

나는 이것이 사소한 것처럼 보이지만 실제로는 레시피에 대해 약 4-5 개의 연관성이 있고, 여기에 보여주지 않고 명시 적으로 그렇게하지 말고 : 모든 찾기 전화에 포함되기를 바라며, 그냥 일어나기를 원합니다. . 레시피를 무시할 수 있다고 가정하고 레시피 모델에서 수행 할 수 있지만 더 깨끗한 방법이 있는지 궁금했습니다 ....

도움이 되었습니까?

해결책

나는 항상 열망하고 싶은 선택된 모델에서 default_scope를 사용해 왔습니다.

class Post < ActiveRecord::Base
  has_many :comments
  default_scope :include => :comments, :order => ["title ASC"]
  ...
end

다른 팁

당신은 이름이 지정된 스코프로 이것을 할 수 있어야하지만, 나는 그것에 가능한 많은 버그가 있다는 것을 이해합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top