Пространство имен, form_for и именованный маршрут
У меня есть два контроллера сгруппированы под admin
пространство имен, как показано ниже:
namespace :admin do
resources :projects
get "profile", to: "users#edit"
post "profile", to: "users#create"
end
В form_for
для resource
, он отлично работает, как описано в документации:
form_for [:admin, @project]
Но когда дело доходит до именованного маршрута, как указано выше admin/profile
Я понятия не имею, что поставить в качестве аргумента в form_for
, Если я просто использую form_for(@user)
, edit
действие работает нормально, и форма отображается правильно, но при отправке я получаю следующую ошибку:
No route matches [PATCH] "/2"
Когда я пытаюсь form_for [:admin, @user]
, форма не отображается с жалобами на:
undefined method `admin_user_path'
Как следуетform_for be constructed in a named route under a namespace?
1 ответ
Решение
Попробуй это:
form_for(@user, url: admin_profile_path) do |f|
Бежать rake routes
перечислить все маршруты.