10
이 질문은 다형 관계의이라는 명명 형식에 관한 것입니다.다형성 관계의 이름을 잘 지정하십시오.
내 데이터베이스에는 '회사', 고객 및 직원이라는 세 가지 유형의 사람이 있습니다. 세 가지 각각은 작업, 이벤트 및 프로젝트와의 다형성 관계에 있습니다.
은 레일 가이드에 따르면,이은 (나는 간결에 대한 몇 가지 클래스를 생략 한)처럼 할 것 :
Person.rb
has_many :tasks, :as => :taskable
has_many :events, :as => :eventable
has_many :projects, :as => :projectable # awkward names
Task.rb
belongs_to :taskable, :polymorphic => true
These lead to the rather strange:
@person = @task.taskable
나는 다음과 같은 훨씬 더 문법 우아한 될 것이라고 느낌이 ... 것이다 그것은 그렇다면 공식 출처가 owner
과 같은 단어가 아닌 projectable
과 같은 단어를 사용하는 이유가 무엇입니까?
Person.rb
has_many :tasks, :as => :owner
has_many :events, :as => :owner
has_many :projects, :as => :owner
Task.rb
belongs_to :owner, :polymorphic => true
This creates the elegant:
@person_1 = @task.owner
@person_2 = @project.owner
연관에 대한 Rails 가이드를 확인했는데'belongs_to : taskable, : as : polymorphic'이 잘못되어'belongs_to : taskable, : polymorphic => true' 여야합니다. – jdoe
@jdoe -이를 반영하도록 코드를 수정했습니다. 확인 해줘서 고마워. – sscirrus