Ruby on rails RubyonRails连接表中的真实数据
在RoR应用程序中,我们有两个核心模型和一个连接表:Ruby on rails RubyonRails连接表中的真实数据,ruby-on-rails,save,jointable,Ruby On Rails,Save,Jointable,在RoR应用程序中,我们有两个核心模型和一个连接表: class Workflow < ActiveRecord::Base has_many :workflow_datafiles has_many :datafiles, :through => :workflow_datafiles class Datafile < ActiveRecord::Base has_many :workflow_datafiles has_many :workflows, :
class Workflow < ActiveRecord::Base
has_many :workflow_datafiles
has_many :datafiles, :through => :workflow_datafiles
class Datafile < ActiveRecord::Base
has_many :workflow_datafiles
has_many :workflows, :through => :workflow_datafiles
class WorkflowDatafile < ActiveRecord::Base
belongs_to :datafile
belongs_to :workflow
类工作流:工作流\u数据文件
类数据文件:工作流\u数据文件
类WorkflowDatafile
联接表有自己的模型代码,并包含一个实际的数据元素,该数据元素描述给定工作流和数据文件之间关系的性质。我已经编写了从XML文件导入数据的代码,在关联导入的文件和工作流之后,我需要将一些数据放入联接行。问题是,即使未保存的工作流对象有一个数据文件数组,而未保存的数据文件对象有一个工作流数组,也没有一个工作流\数据文件数组。我想它们在我保存后出现(我想我应该验证一下)
因此,当我处理XML文件、实例化工作流和数据文件对象并将它们添加到彼此的集合中时,我没有一个很好的方法来访问它们的联接对象
我看到两种选择:
我倾向于选择2,但我真的希望有人有更好的选择,或者至少对整个情况有一些看法。如果我正确理解您的问题,即您的联接表没有填充;如何从xml中构建
工作流
、数据文件
和工作流_数据文件
。我认为问题是存在的,因为使用正确的关系定义,所有记录都应该正确插入,并且您的关系是正确的。我认为问题是Rails在内部存储workflow_datafiles数据,但在我保存某些数据之前,不会使其可供程序使用。事实上,由于工作流和数据文件在保存之前没有id值,所以通常不会在连接行中放入太多内容。只是在我的例子中,我需要显式地访问连接行以存储真实数据。