2011-12-28 2 views
0

레일에있는 선택 상자를 관계형 테이블로 자동 채우려고합니다.Rails는 collection_select를 채 웁니다.

Venture_Users에는 사용자 및 벤처 ID 목록이 있으므로 모든 벤더에 속한 모든 사용자를 찾은 다음 user_id 및 user.name을 통해 사용자를 표시하고 싶습니다. 내 결과에 직접적으로하지 않기 때문에 이름이 작동하지 않습니다와 나는의 이름을 알아 내 사용자 테이블에 쿼리를 실행해야합니다

나는 다음과 같은

 <%= f.collection_select(:user_id, VentureUser.find_all_by_venture_id(@venture.id), :user_id, :name) %> 

그러나 마지막 속성을 시도 사용자.'

기본적으로 내가해야할 일은 모르지만 내 VentureUsers.find_all 문을 수정하여 내 사용자 테이블의 특성을 조인하십시오.

덕분에, 마이크

답변

2

이 아주 정직만큼 당신이 당신의 연결이 제대로 설정 가지고 있어야한다. 내가 제대로 다음 시나리오를 이해 한 경우에 당신은 아마 다음과 같이 설정해야한다 :

<%= f.collection_select(:user_id, @venture.users, :id, :name) %> 
:

class Venture < ActiveRecord::Base 
    has_many :venture_users 
    has_many :users, :through => :venture_users 
end 

class VentureUser < ActiveRecord::Base 
    belongs_to :venture 
    belongs_to :user 
end 

당신의 협회가 실제로 다음과 같이 경우에, 당신은이 같은 선택을 생성 할 수 있어야한다

+0

은 아름답게 작동했습니다. 나는 레일에 익숙하지 않았고 the : through 방법을 알지 못했습니다. 고마워. –

관련 문제