从我阅读的文档中可以看出:
class Book < ApplicationRecord
belongs_to :author, class_name: "Patron", foreign_key: "patron_id"
end
所以根据我尝试下一个:
class Choco < ActiveRecord::Base
has_many :kinds, inverse_of: :choco, foreign_key: :myhash
和
class Kind < ActiveRecord::Base
belongs_to :choco, foreign_key: :myhash
但是它会在该列中粘贴NULL并且我无法理解为什么。
模式
对于Choco:
— (id, title, myhash)
善良:
— (id, choco_id, title)
我想在创建新类型时在choco_id字段上粘贴myhash。
有什么问题?
答案 0 :(得分:1)
您可以指定要存储在Kind
型号上的主键:
class Choco < ActiveRecord::Base
self.primary_key = 'myhash'
has_many :kinds, inverse_of: :choco, primary_key: :myhash
class Kind < ActiveRecord::Base
belongs_to :choco, primary_key: :myhash
choco_id
模型中的Kind
列会存储choco的myhash
值。