2012-11-05 8 views
0

3 I 사용자, 요리법, 성분 및 준비 용 모델 많은 조리법, 요리법 사용자 및 성분에 속하는 한 사용자는/준비 조리법에 속하는선택 즐겨 찾기

이있는 작은 응용 프로그램이 레일.

이제 사용자는 모든 요리법을 볼 수 있지만 즐겨 찾기 목록에 특정 요리법을 추가하는 옵션을 원합니다. 이를 유지하고 연관을 통해 링크 할 새 DB를 설정해야합니까, 예를 들어 fav라는 레시피 모델에 열을 추가 할 수 있습니까?

임 누군가가 전에이 일을하고 난 당신이 has_may 관련하여 다음과 같이 설정할 수 있습니다 생각

답변

1

을 감상 할 수있는 조언을 제공 할 수있는 경우 여기에 가장 좋은 방법을 찾고 나 :

class User < ActiveRecord::Base 

    has_many :favorite_recipes, foreign_key: "user_id", class_name: "Recipe", dependent: :destroy 
end 
+0

그렇게 favourite_recipes에 대한 별도의 테이블을 생성? – Richlewis

+0

아니요, 필요가 없습니다. 아이디어를 설명하는 방법을 모르지만 여기에서 확인할 수 있습니다 (관심 사용자) (http://ruby.railstutorial.org/chapters/following-users#top). 이 예에서 사용자는 다음과 팔로어 사용자를 가지며, 사용자의 경우 레시피와 즐겨 찾기 조리법을 갖게됩니다.이 예제처럼 할 수 있다고 생각합니다. 희망이 당신을 위해 도움이됩니다. – Thanh

+0

감사합니다, 그것을 들여다 볼 것입니다 – Richlewis

1

나는 것 부울 열 favorited을 UsersRecipe 테이블에 추가하십시오.

그런 다음 당신은 당신의 User 모델에서 이것에 대한 범위를 추가 할 수 있습니다

has_many :favorite_recipes, :through => :user_recipes, :class => Recipe, :conditions => ['user_recipes.favorited = ?',true] 
+0

미안 해요, 제 레시피 모델에 즐겨 쓰는 열을 추가 하시겠습니까? – Richlewis

+0

예, 즐겨 찾기 열을 레시피 모델에 추가 할 수 있습니다. 나는 Kien의 대답이 재미 있다고 생각한다. –