Rails는 모든 발견에 대한 열렬한 적재
-
19-09-2019 - |
문제
좋아, 나는 열렬한 적재 물건을 가지고 놀았으며 다음과 같은 두 가지 모델을 가지고 있습니다.
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
다른 팁
당신은 이름이 지정된 스코프로 이것을 할 수 있어야하지만, 나는 그것에 가능한 많은 버그가 있다는 것을 이해합니다.
제휴하지 않습니다 StackOverflow