2

1 つの外部キーがモデル ID ではなく名前である has_many :through 関連付けを作成する必要があります

class User < ActiveRecord::Base  
  has_many :ownerships
  has_many :articles, :through => :ownerships
end

class Article < ActiveRecord::Base  
  has_many :ownerships
  has_many :users, :through => :ownerships
end

class Ownership < ActiveRecord::Base
  belongs_to :user
  belongs_to :article
end




create_table "ownerships", :force => true do |t|
    t.integer  "user_id"
    t.string   "article_code"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

関連にforeign_keysを割り当てようとしましたが、うまくいきませんでした。

組み込みの RoR 関連付けを使用して目標を達成する方法はありますか?

4

1 に答える 1

4
class Article < ActiveRecord::Base  
  has_many :ownerships, :foreign_key => :article_code, :primary_key => "code"
  has_many :users, :through => :ownerships
end

class Ownership < ActiveRecord::Base
  belongs_to :user
  belongs_to :article, :foreign_key => :article_code, :primary_key => "code"

end
于 2013-07-25T04:57:30.057 に答える