сохранение для присоединения к модели has_many: через - PullRequest
0 голосов
/ 04 октября 2009

Последовательности действуют как таблица соединения между процедурами и шагами:

  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

То, что я пытаюсь сделать, - это создать процедуру, затем создать шаг из процедуры и сохранить в нем номер шага в последовательности, связывающей шаг и процедуру одновременно.

  1. Есть ли хорошее руководство о том, как сделать has_many: through? Все, что я когда-либо нахожу, это просто как сделать модель, я понятия не имею, как с ней работать.
  2. При сохранении моего шага нужно ли явно создавать последовательность? Я надеялся, что Rails создаст его автоматически.

Если у кого-нибудь есть указания на то, как это сделать, я буду рад их услышать, у меня много проблем с настройкой.

1 Ответ

1 голос
/ 04 октября 2009

Rails не создает автоматически записи о соединении, которые вы ожидаете при использовании «имеет и принадлежит многим». Если вы используете «has many: through», вам придется явно создать запись соединения. Однако это не мешает вам создать вспомогательный метод, который сделает за вас какую-нибудь грязную работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...