3

モデルの間に設定しているポリモーフィックテーブルがあり、それをDocumentと呼びましょう。そして、それが持ついくつかの属性を持っています。したがって、私はDocumentRelationshipモデルを持っており、この移行で、ポリモーフィック属性名が「属性」になることを記述したいと思いました。DocumentRelationshipの移行におけるEGは、次のように追加します。

 t.integer :attribute_id
 t.string  :attribute_type

次に、ドキュメントモデルで次のように言います。

 has_many :attributes, :polymorphic => true

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

またはそのようなもの。

このフィールドに「属性」という名前を付けても大丈夫ですか?ポリモーフィックフィールドに「オブジェクト」という名前を付けることはできないことを私は知っています。これはエラーにつながります。

ありがとう!

4

1 に答える 1

2

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

次のセクションを参照してください。問題を引き起こすことが報告されている他の名前:

属性–属性と呼ばれるhas_manyがある場合、オブジェクト属性にアクセスできなくなります。関連するオブジェクトのみ

更新:このリンクには詳細がありますhttps://github.com/walterdavis/railsready/wiki検索機能http://reservedwords.herokuapp.com/を備えた彼のherokuアプリも参照してください

于 2012-07-12T21:20:47.527 に答える