Я не могу обновить одну пользовательскую модель с помощью моего настраиваемого маршрута (без ресурсов) и одного поддомена.Модель обновления Rails 4 с субдоменом и настраиваемым маршрутом
Моя форма:
<%= form_for :user, :url => services_users_update_url(@user), :html => { :method => 'put', :multipart => true } do |f| %>
в то время как мой субдомен "услуги".
Мои маршруты файл:
constraints :subdomain => "services" do
scope :module => "services", :as => "services" do
match '/users/update/' => 'users#update', via: [:put]
end
end
Когда я показываю свою форму страницы, URL-адрес генерируется в моей форме:
http://services.website.dev:3000/8296/users/update
Когда я подтверждаю свою форму, то сообщение об ошибке:
No route matches [PUT] "/8296/users/update"
Что не так на моих маршрутах?
Если я пытаюсь:
match '/users/:id' => 'users#update', via: [:put]
форма генерирует ошибку маршрута тоже.
Я также попытался:
match '/users/update/:id' => 'users#update', via: [:put]
без успеха.
EDIT: Я хочу добавить дополнительную информацию.
Моя страница формы находится в субдомене 'cloud', и мое действие по обновлению расположено в subdomain 'services'.
Если я изменил ваши предложения, форма не может быть отображена: undefined method 'services_users_update_url '. Дело в том, что я не знаю, почему user_id находится в первом в созданном URL. –
@muqaddar проверить обновленный ответ. –
не уверен в 'as:' options, он должен быть 'as:: services_users_update' или' as:: users_update' –