3

모델 사이에 설정하는 다형성 테이블이 있고, Document라고 부르기도하고, has_many of 속성이 여러 개 있습니다. 그래서 DocumentRelationship 모델을 가지고 있고,이 마이그레이션에서 다형성 속성 이름이 "속성"이라고 쓰고 싶었습니다. EG는 DocumentRelationship에 대한 마이그레이션에 내가 추가 할 :rails 속성의 이름을 "attribute"로 지정할 수 있습니까?

t.integer :attribute_id 
t.string :attribute_type 

그런 다음, 문서 모델에서 내가 말할 것이다 : 그런

has_many :attributes, :polymorphic => true 

has_many :authors, :through => :attributes, :source_type => "Author" 

또는 무언가를.

이 필드의 이름을 "속성"으로 지정할 수 있습니까? 나는 당신이 다형성 필드 "객체"를 명명 할 수 없다는 것을 안다; 이로 인해 오류가 발생합니다.

고마워요!

답변

2

http://oldwiki.rubyonrails.org/rails/pages/ReservedWords

라는 섹션을 참조하십시오 : 문제의 원인이보고되었다 다른 이름 :

속성을 - 당신은 속성이라는 has_many을,이 경우에하지 에 액세스 할 수 있습니다를 당신의 객체 속성. 단지 연관된 객체

UPDATE :이 링크는 또한이 이전 레일 위키 그러나입니다 검색 기능 http://reservedwords.herokuapp.com/

+0

을 가지고 자신에게 Heroku 응용 프로그램을 볼 수있는 세부 사항 https://github.com/walterdavis/railsready/wiki의 이상을 가지고 있지만, 나는 그것이 아직 생각할 겁니다 모든 ActiveRecord 모델에는 해당 클래스의 인스턴스 속성을 제공하는'attributes' 메소드가 있기 때문에 정확합니다. – Frost

관련 문제