Вот шаблон страницы, который у меня есть:
<h1>Editing user</h1>
<% form_for(@user) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :forename %><br />
<%= f.text_field :forename %>
</p>
<p>
<%= f.label :surname %><br />
<%= f.text_field :surname %>
</p>
<p>
<%= f.label :address %>
<%= f.text_field :address %>
</p>
<p>
<%= f.label :postcode %>
<%= f.text_field :postcode %>
</p>
<p>
<%= f.label :contact_number %>
<%= f.text_field :contact_number %>
</p>
<% end %>
<%= link_to 'Show', @user %> |
<%= link_to 'Back', users_path %>
Контроллер фактически является подтипом из AdminController, поскольку есть отдельный раздел, как показано в следующем объявлении класса:
class Admin::UsersController < ApplicationController
с методом редактирования следующим образом:
def edit
@user = User.find(params[:id])
end
Со следующей ошибкой:
undefined method `user_path' for #<ActionView::Base:0x104369fe8>
и следующее в моих маршрутах:
map.namespace(:admin) do |admin|
admin.resources :pages
admin.resources :treatments
admin.resources :users
admin.resources :finances
end
Так что я немного застрял, потому что это form_for(@user)
делает это. Я видел это раньше, но, к сожалению, понятия не имею, как его диагностировать.