保存加入模型has_many:通过

时间:2009-10-03 23:46:33

标签: ruby-on-rails

序列充当程序和步骤之间的连接表:

  create_table "procedures", :force => true do |t|
    t.integer  "procedure_id"
    t.integer  "revision"
    t.string   "description"
  end

  create_table "sequences", :force => true do |t|
    t.integer  "procedure_id"
    t.integer  "step_id"
    t.integer  "step_number"
  end

  create_table "steps", :force => true do |t|
    t.string   "descriptor"
    t.string   "step_category"
    t.string   "step_type"
    t.text     "instructions"
  end

我要做的是创建一个过程,然后从过程创建一个步骤,并将step_number保存在同时关联步骤和过程的序列中。

  1. 有什么好的指导如何做has_many:通过?我找到的只是如何制作模型,我不知道如何使用它。
  2. 保存我的步骤时,是否需要显式创建序列?我希望Rails能自动创建它。
  3. 如果有人对如何做到这一点有一些指示我会很高兴听到他们,我在设置它时遇到了很多麻烦。

1 个答案:

答案 0 :(得分:1)

当使用“has and belongs to many”时,Rails不会自动创建您期望的连接记录。如果您使用“has many:through”,则必须显式创建连接记录。但是,这并不能阻止你做一个辅助方法来为你做一些肮脏的工作。