Не удалось попытаться использовать 2 идентификатора на маршрутах nestes в рельсах - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь передать 2 идентификатора контроллеру в рамках действия обновления, но он не останавливается, я не распознаю первый идентификатор, student_id.Это определение маршрута в routes.rb

post 'registers/students/:student_id/notes/:note_id/edit', to: 'registers/students/notes#update', as: :update_registers_student_note

Хотя это часть form_for, с использованием соответствующего помощника

<%= form_for @note, url: update_registers_student_note_path(:student_id,:note_id), method: :post do |f| %>

Мой вопрос, как я могу правильно пройти2 идентификатора соответствующих ресурсов, так как форма распознает только меня note_id, а не student_id

Спасибо

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Помощник должен работать.Вы также можете использовать update_registers_student_note_path(student_id: 1, note_id: 12).

Но я предлагаю вам вместо этого использовать вложенные ресурсы в своих маршрутах.Вы можете написать что-то вроде этого:

namespace :registers do
  resources :students do
    resources :notes
  end
end

Новый помощник URL будет registers_student_note_path(<note_id>, student_id: <student_id>) с методом PATCH.

0 голосов
/ 18 октября 2018

да, вы правильно поставили для url_helpers .Вы можете попытаться открыть консоль rails и попробовать ее с помощью этой команды

include Rails.application.routes.url_helpers
update_registers_student_note_path(1,2)

, которую вы увидите => "/registers/students/1/notes/2/edit"

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