2012-12-09 5 views
0

저는 Rails를 처음 사용하고 축구 결과 앱을 만들었습니다. rails generate Scaffold Team name:string form:string을 작성한 후 테이블에 몇 개의 팀을 추가했는데, 다음 단계는 팀을 저장하는 Fixtures 테이블을 만드는 것이 었습니다. 그래서 rails generate Scaffold Fixture week:string homeTeam:team awayTeam:team homeScore:integer awayScore:integer했을 때 데이터베이스를 업데이트하려고 할 때 rake db:migrate 정의되지 않은 오류가 발생했습니다. 팀 : 팀이 팀을 팀으로 지정하는 방식을 좋아하지 않습니다.Rails Scaffold에서 객체 생성하기

조명기를 만들 때 이미 팀 테이블에 저장된 팀 목록에서 선택하고 싶을 때 어떻게 작동합니까?

답변

1

루비/레일의 규칙은 변수 및 메서드에 대해 camelCase와 달리 밑줄을 사용하는 것입니다.

실제 질문입니다. 생성 된 TeamFixture 모델에서 직접 관계를 설정해야합니다. 스캐 폴딩은 올바른 외래 키를 제자리에 놓음으로써 관계를 설정하는 데 도움이 될 수 있습니다. 고정구 비계를 들어

이처럼 생성 : ggenerator에 대한 바로 가기이고 발전기는 대문자로 아무것도 필요하지 않습니다

rails g scaffold fixture week:string home_team_id:integer away_team_id:integer home_score:integer away_score:integer 

하는 것으로.

class Team < ActiveRecord::Base 
    has_many :home_games, :class_name => Fixture, :foreign_key => :home_team_id 
    has_many :away_games, :class_name => Fixture, :foreign_key => :away_team_id 
end 

class Fixture < ActiveRecord::Base 
    belongs_to :home_team, :class_name => Team 
    belongs_to :away_team, :class_name => Team 
end 
:

지금, 당신의 Team 모델에서 당신은 Fixture 반대 (? 내가 어떤 스포츠 전문가는 아니지만, 더 이해가 Game 명명 않을 것이다)와의 관계를 정의 할 수 있습니다

+0

고마워, 그 일이있어, 내가 20 개의 팀을 가지고 있다면 homeTeam이나 awayTeam에 0-19 (팀 id) 사이의 값을 주어야한다. homeTeam 및 awayTeam 필드의 드롭 메뉴에 팀을 표시하기 위해 양식을 변경하려면 어떻게해야합니까? – user1014888

+0

이와 같이, _form보기 부분에서 Fixture : http://stackoverflow.com/questions/3763963/rails-3-build-a-select-tag-with-has-many-belongs-to-association – agmin

+0

대단히 감사합니다. , 완벽하게 일했습니다. :) – user1014888