Пользователи могут быть отредактированы с обычным ресурсным URI, например:
/users/1/edit
Проблема в том, что в моем приложении страница редактирования пользователя - это домашняя страница или корневой маршрут.1006 * Итак, я попытался установить @user
для текущего пользователя в отсутствие params[:id]
.
# app/controllers/users_controller.rb
def edit
@user = (params[:id]) ? User.find_by_id(params[:id]) : @current_user
end
К сожалению, у меня возникают проблемы с правильной настройкой формы.
# app/views/shared/_manage_users.rb
<%= form_tag follow_user_path, :id => 'update-following-form' %>
Я получаю:
No route matches {:action=>"follow", :controller=>"users"}
follow
является маршрутом-членом пользовательского ресурса и имеет соответствующий метод контроллера.Если я захожу на страницу через URI в верхней части этого вопроса, /users/1/edit
, все работает нормально и не выдается никакой ошибки.
Я не уверен, что я поступаю по этому поводу совершенно неправильноили если я просто не использую правильный помощник формы или что-то глупое. Как я могу исправить эту проблему, или какие шаги я могу выполнить, чтобы отладить ее?