0

我真的是 ruby​​ on rails 的新手,我需要帮助。在我的模型中,我有文档和 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 都有一个原始文档和一个或多个相关文档。我的问题是:

1)这个模型好吗?因为我无法使用“rails g migration ....docuemnt:reference document:reference”进行两次迁移

2)当我去rails控制台时: ConversionDetail.create(origin_id:500,destination_id:1000) 它创建的转换但它不应该因为我在文档中没有任何带有那个数字的ID

请帮助我,我将不胜感激。谢谢大家,你们是最棒的!

PD:对不起我的英语真的很糟糕

4

1 回答 1

1

听起来您希望 rails 在数据库中定义外键约束。Rails 不这样做。on 关联仅指示要使用foreign_key哪个数据库列来查找关联的记录。

于 2013-09-12T22:29:37.990 回答