2011-04-13 2 views
0

사용자 모델 User.rb가 있습니다. something_type의 값은 내 레일 코드에서 가지고 열거에서 오는열거 형을 기반으로이 모델 연결을 처리하는 방법은 무엇입니까?

user_something 

user_id 
something_id 
something_type 

:

지금 나는처럼 보이는 테이블이 있습니다. something_id는 많은 다른 테이블의 ID 일 수 있습니다. 즉, db 테이블의 많은 ID를 represenets하고 something_type이 기사인지 여부 등을 알려줍니다.

이제 내 Article.rb 모델에서 라고 말하면서 something_type = 3이고 something_id = article_id 인 모든 행을 나열하는 user_something 테이블에 대한 연결을 만들고 싶습니다. 내부는 나에게 사용자의 컬렉션을 얻을 수있는 사용자 테이블과 조인에

select * from user_something where something_type = 3 and something_id = xxx 

쿼리는 것이다.

어떻게하면됩니까?

답변

1
당신은 같은 polymorphic association

뭔가 사용할

:하지만 어디 내 루비 열거 맞는 수행에

class User 
    belongs_to :somethingable, :polymorphic=>true 
end 

class OtherClass 
    has_many :users, :as => :somethingable 
end 

class YetAnotherClass 
    has_many :users, :as => :somethingable 
end 
+0

를? – Blankman

+0

열거 형을 사용하는 방법을 보여주는 코드를 추가 할 수 있습니까? 나는 당신이 찾고있는 것을 정확하게 질문 할 수 없다. –

관련 문제