Это довольно сложно. Но у меня есть пути с именами, и эта форма заботится о модели клиента, которая разделяется двумя разными контроллерами.Каков правильный синтаксис для настройки этой формы_for?
моих маршруты:
namespace "self_service" do
resources :customers
моей паршивая попытка реализованной формы редактирования
= form_for [:self_service, @current_customer], action: 'update', method: :put do |f|
мой контроллер
class SelfService::CustomersController < SelfService::BaseController
layout 'self_service'
def edit
end
def update
end
end
Это конкретизация делает 2 вещи, которые являются неправильными:
URL-адрес для формы является
/customers/146/self_service
. Но разве это не должно быть наоборот? Не должно бытьself_service/customers/146/
?Когда я нажимаю отправить, я получаю
No route matches "/customers/146/self_service"
Обновление
Как выясняется, это ..:
resources :customers do
member do
get :self_service
..contradicts это:
namespace "self_service" do
resources :customers
end
Но что меня беспокоит, почему они должны противоречить друг другу? Нужно быть:
customers/:id/self_service
, а другой:
self_service/customers/:id
Возможный дубликат [Rails Маршруты Пространства имен и form_for] (http://stackoverflow.com/questions/3853531/rails-routes-namespaces-and-form-for) – Mischa
Я не думаю, что вам нужно указать пространство имен в form_for –
Не дубликат – Trip