我在轨道上的红宝石中真的很新,我需要一只手。在我的模型中,我有文档和conversion_details:
class Document < ActiveRecord::Base
belongs_to :user
has_one :origin_details, :class_name => "ConversionDetails", :foreign_key => "origin_id"
has_many :destination_details, :class_name => "ConversionDetails", :foreign_key => "destination_id"
attr_accessible :extension, :name, :text
end
class ConversionDetail < ActiveRecord::Base
belongs_to :origin, :class_name => "Documents"
belongs_to :destination, :class_name => "Documents"
attr_accessible :conversionDate, :requestMsg, :responseMsg, :status, :origin_id, :destination_id
end
每个conversionDetail都有一个原始文档和一个或多个相关联的文档。 Mi的问题是:
1)这个型号很好吗?因为我不能用“rails g migration .... docuemnt:reference document:reference”两次进行迁移2)当我去rails控制台并且我这样做时:ConversionDetail.create(origin_id:500,destination_id:1000)它创建的转换但不应该因为我没有在文档中有任何带有该数字的id < / p>
请帮助我,我将不胜感激。谢谢大家,你是最棒的!
PD:对不起我的英语很糟糕答案 0 :(得分:1)
听起来你期望rails在数据库中定义外键约束。 Rails没有这样做。关联上的foreign_key
只是指示要使用哪个数据库列来查找关联的记录。