Я смущен моим rake routes
выводом. Для примера (обрезается):
profil GET /profil/:id(.:format) {:action=>"show", :controller=>"profil"}
PUT /profil/:id(.:format) {:action=>"update", :controller=>"profil"}
login GET /login(.:format) {:action=>"new", :controller=>"sessions"}
POST /login(.:format) {:action=>"create", :controller=>"sessions"}
logout GET /logout(.:format) {:action=>"destroy", :controller=>"sessions"}
Я всегда думал:
- Линия 2 : Доступ к маршруту возможен с использованием
profil_path
с использованием метода PUT .
- Строка 4 : Доступ к маршруту можно получить, используя
login_path
с методом POST .
Заключение : строки с первым пустым столбцом (строки 2 и 4) будут следовать за той, что над ним.
Однако я экспериментировал с добавлением параметра в URL. Итак, я добавил эти коды в свой routes.rb
:
namespace :admin do
resources :pengguna_bulk, :only => [:new, :create]
resources :pengguna do
collection do
get 'index/:page', :action => :index
end
end
end
Новый rake routes
выход (обрезается):
admin_pengguna_bulk_index POST /admin/pengguna_bulk(.:format) {:action=>"create", :controller=>"admin/pengguna_bulk"}
new_admin_pengguna_bulk GET /admin/pengguna_bulk/new(.:format) {:action=>"new", :controller=>"admin/pengguna_bulk"}
GET /admin/pengguna/index/:page(.:format) {:action=>"index", :controller=>"admin/pengguna"}
admin_pengguna_index GET /admin/pengguna(.:format) {:action=>"index", :controller=>"admin/pengguna"}
POST /admin/pengguna(.:format) {:action=>"create", :controller=>"admin/pengguna"}
new_admin_pengguna GET /admin/pengguna/new(.:format) {:action=>"new", :controller=>"admin/pengguna"}
edit_admin_pengguna GET /admin/pengguna/:id/edit(.:format) {:action=>"edit", :controller=>"admin/pengguna"}
admin_pengguna GET /admin/pengguna/:id(.:format) {:action=>"show", :controller=>"admin/pengguna"}
PUT /admin/pengguna/:id(.:format) {:action=>"update", :controller=>"admin/pengguna"}
DELETE /admin/pengguna/:id(.:format) {:action=>"destroy", :controller=>"admin/pengguna"}
Мой вопрос: почему 3-й маршрут выглядит так, как будто он находится под 2-м маршрутом? Это пусто, потому что Rails не знает, как его назвать, и мне придется использовать get 'index/:page', :action => :index, :as => :page
, чтобы назвать его?
Значит, это означает, что маршрут с пустым первым столбцом не всегда следует вышеуказанному пути?