class RecordBase < ActiveRecord::Base
self.abstract_class = true
end
class ArAndEcrBase < RecordBase
self.abstract_class = true
# Relations
belongs_to :originator, class_name: 'User', foreign_key: 'originator_id'
has_many :attachments
end
class Ar < ArAndEcrBase
end
IをArサブクラスの別のタイプのレコードを扱うクラスといくつかの関係を共有したいが、has_many関係は機能しない。
次作品:
> Ar.last.originator
=> #<User id: 1, ...
次のクラッシュ:has_manyの関係がうまく動作しないいくつかの理由
> Ar.last.attachments
Mysql2::Error: Unknown column 'attachments.ar_and_ecr_base_id'
。
ないattachments.ar_and_ecr_base_idをattachments.ar_idそれは列探さなければならない私が何か間違ったことをやっていますか?それともRailsのバグですか?
class Ar < ArAndEcrBase
has_many :attachments
end
'inverse_of'オプションを使用してみましたか? – SomeSchmo
こんにちはロッコ!その選択肢について聞いたことはありませんでした。それを設定しようとしたが動作しませんでした。私はまったく同じエラーを受け取りましたありがとう、とにかく! – nuno
Atmコードを動作させる唯一の方法は、has_many関係をArクラスに移動することです: – nuno