매우 분명한 뭔가를 잃어 버렸고 두뇌가 상처를 입었습니다.여러 모델에서 레일 찾기
class User < ActiveRecord::Base
has_one :profile
class Profile < ActiveRecord::Base
has_one :user
belongs_to :team
나는 부분적으로 사용자를 통해 반복하고 일부 기본 정보를 인쇄합니다.이 부분은 내 팀 페이지에서 사용하고 있습니다.
원래 프로필이 팀 구성원 인 사용자에게 반환하기 위해 작성했습니다.
def show
@team = Team.find_by_id(params[:id])
@profiles= Profile.find(:all, :conditions => ['team_id = ?', @team.id])
@users = User.find_by_id(@profiles.user_id)
end
@profiles는 빠르게 배열로되어있어 지옥처럼 보입니다. 팀의 구성원 인 프로필이있는 모든 사용자를 선택하려면 내 찾기가 어떻게 보이는지 파악해야합니다.
표시하는 사용자를 위해 다른 곳에서 노력하는 내가 이런 식으로 연결을 바꿀 것
Processing TeamsController#show (for 127.0.0.1 at 2010-03-30 22:06:31) [GET]
Parameters: {"id"=>"1"}
User Load (1.3ms) SELECT * FROM "users" WHERE ("users"."id" = 3) LIMIT 1
Team Load (1.0ms) SELECT * FROM "teams" WHERE ("teams"."id" = 1)
Rendering template within layouts/main
Rendering teams/show
Completed in 75ms (View: 11, DB: 2) | 200 OK [http://localhost/teams/1]
사용자가 올바르게 선택되지 않은 것 같습니다. 종이로 작업했을 때 제대로 된 것 같습니다. 추가 된 로그 및 부분적으로 – Kelvin
KGB 모든 연결이 올바르게 설정되어 있는지 확인하십시오. 사용자가 팀과 연관되어 있으면 작업해야합니다. 표 구조가 어떻게 생겼는지 추가하겠습니다. –
죄송합니다. 사용자 모델에 belongs_to 선언을 추가하는 것을 잊었습니다. 그것은 또한 문제를 일으킬 수 있습니다. :) 반영하도록 편집 된 게시물. –