0

私は 3 つのモデルを持っています: 質問をするために、私はそれらをポスト、containertable1 および containertable2 と呼びます。

基本的に、posts テーブルには misc_id という列があり、containertable1 または containertable2 にあるアイテムの ID が含まれています。外部キーの関連付けを設定しようとしましたが、指定した列からフェッチされないようです。

私の post.rb モデルは次のように なり
ます

misc_id"
set_table_name "トランザクション"

そして、私の containertable1.rb モデル:
class Containertable1 < ActiveRecord::Base
has_many :transactions

しかし、スクリプト/コンソールで Containertable1.find(:first).posts を実行すると、次のエラーが表示されます。

不明な列「posts.containertable1_id」

代わりに「misc_id」列を探すことを望んでいました。誰かが私が間違っていることについての洞察を提供できますか? 本当にありがとう :)

4

1 に答える 1

0

私はこれをもう少しいじっていましたが、それを理解したと思います。

外部キーは実際には containertable.rb モデルにある必要があります。だからここに私が変更したものがあります:

class Containertable1 < ActiveRecord::Base has_many :posts, :foreign_key => "misc_id"

于 2010-01-15T01:31:03.773 に答える