Rails вложил находчивый form_for как сопоставить создание маршрута? - PullRequest
0 голосов
/ 13 июля 2020

Я на Ruby -on-rails 5.2.4.2 Ruby 2.4.1

У меня есть эти вложенные маршруты ресурсов:

resources :groups do
  resources :group_sessions, except: [:show]
end

Я пытаюсь поделиться формой для создания и редактирования групповых сеансов:

= form_for [@group, @group_session] do |f|

Новое действие в контроллере group_sessions:

def new
  @group = Group.find(params[:group_id])
  @group_session = @group.group_sessions.build
end

Edit работает нормально, но когда я загружаю здесь новую форму http://0.0.0.0: 3000 / groups / 1 / group_sessions / new Я получаю сообщение об ошибке:

No route matches {:action=>"update", :controller=>"group_sessions", :group_id=>"1", :id=>nil}, missing required keys: [:id]

Очевидно, что идентификатор group_session не установлен, потому что он только что был создан и не был сохранен. Почему форма не выбирает правильный маршрут (в данном случае действие: «создать»)?

...