나는 인터넷을 들여다 보았습니다. 그러나 어떤 이유로 그 답변들은 가까이 있지만 그들은 나를 도와주지 않습니다.명명 된 연관성을 찾지 못했습니다. Rails
그래서 나는 선수 테이블과 팀 테이블을 가지고 있습니다. 플레이어는 여러 팀에 속할 수 있습니다. 팀은 많은 선수를 보유 할 수 있습니다. Liveplayer :
class LivePlayer < ActiveRecord::Base
has_many :teamplayers
has_many :fteams, :through => :teamplayers
end
Fteam :
class Fteam < ActiveRecord::Base
belongs_to :liveplayer
end
Teamplayer :
그래서 여기 내 모델입니다
class Teamplayer < ActiveRecord::Base
belongs_to :live_player
belongs_to :fteam
end
테이블의 5,
이름은 각각 live_players하고 여기에
는 HTML입니다 fteams : 여기<select id = "test4" style= float:left>
<% Teamplayer.includes(:live_player).all do |tp| %>
<option> <%=tp.id %></option> <- This returns nothing right now
<% end %>
</select>
오류입니다 : 협회라는 'LivePlayer'Teamplayer 찾을 수 없습니다; 아마 철자가 틀린거야?
제 질문은 이것이 문제입니다.
- 모델의 관계는 무엇입니까?
- 관계에 모델 이름 대신 테이블 이름이 있어야합니까? 예 : liveplayer 대신 live_players?
- 또는 내가 원하는 값에서 HTML을 사용하고있는 방법입니까? 결국
내가 팀에 즉 모든 플레이어, 특정 팀에 플레이어의 목록을 얻으려면 1
나는 또한의 id의에 의해 서로에 두 테이블을 연결 할 또 다른 테이블이세 번째 테이블에 저장 될 각 테이블. 하지만 먼저 오류의 의미를 알아 내야합니다.
UPDATE는는 나는 협회 오류가 더 이상, 아무것도하지만 디스플레이는 HTML의 선택 상자에 내 모델 보통 위 및 HTML
'Teamplayer' 클래스의 코드는 무엇입니까? – mihai
'클래스 Teamplayer <액티브 :: 자료 \t가 belongs_to : live_players – user3240928
는 또한이 라인은 콘솔에서 실행되지 않습니다 end' : \t belongs_to을 fteam'Teamplayer.includes (: live_player) .all' 그것은 협회 오류를 제공합니다 : Teamplayer에서 association live_player를 찾을 수 없습니다. 모델 업데이트를 참조하십시오 – user3240928