У меня есть следующие маршруты в моем приложении 3.1.0.rc5
# config/routes.rb
devise_for :users
resources :users, only: :index
resource :user
Идея здесь заключается в том, что я использую devise для управления сеансом, ресурс 'users' только для генерации users_path
действие index, а затем большинство других действий пользователя будут доступны по таким маршрутам, как
GET user_path
-> show action GET new_user_path
-> new action POST user_path
-> создать действие
Помощник по маршруту user_path
не создается, хотя, всякий раз, когда я пытаюсь использовать его в представлении, я получаю странную ошибку, когда rails пытаетсясделать это.
Например, на странице /user/new
у меня есть следующее
<%= form_for @user, :url => user_path do |f| %>
# omitted form elements
<% end %>
Когда рельсы пытаются отобразить страницу, я получаю
ActionView::Template::Error (No route matches {:action=>"destroy", :controller=>"users"}):
7: </div>
8:
9: <div class="content_middle">
10: <%= form_for @user, :url => user_path do |f| %>
11: <fieldset>
12: <%= render partial: "form_errors" %>
13:
app/views/users/new.html.erb:10:in `_app_views_users_new_html_erb___1548382046039026466_2191201580'
Что с этим!?
Редактировать Вот содержание рейк-маршрутов.Он довольно массивный, поэтому я сократил его только до пользовательских маршрутов.
new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
user_password POST /users/password(.:format) {:action=>"create", :controller=>"devise/passwords"}
new_user_password GET /users/password/new(.:format) {:action=>"new", :controller=>"devise/passwords"}
edit_user_password GET /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
PUT /users/password(.:format) {:action=>"update", :controller=>"devise/passwords"}
users GET /users(.:format) {:action=>"index", :controller=>"users"}
POST /users(.:format) {:action=>"create", :controller=>"users"}
user DELETE /users/:id(.:format) {:action=>"destroy", :controller=>"users"}
POST /user(.:format) {:action=>"create", :controller=>"users"}
new_user GET /user/new(.:format) {:action=>"new", :controller=>"users"}
edit_user GET /user/edit(.:format) {:action=>"edit", :controller=>"users"}
GET /user(.:format) {:action=>"show", :controller=>"users"}
PUT /user(.:format) {:action=>"update", :controller=>"users"}