Я использую omniauth и нашел для этого устройство с подпапкой (в официальном примере) controllers/users/omniauth_callbacks_controller.rb
.Мне нужно создать страницу показа пользователя, а также другие действия для пользователя, поэтому я решил создать новый UsersController внутри папки controllers/users
.Теперь это выглядит так:
class Users::UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
routes.rb
My::Application.routes.draw do
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
match 'users/:id' => 'users/users#show'
root :to => 'home#index'
end
работает, но созданный маршрут без имени
rake routes
дает
/users/:id(.:format) users/users#show
без GET
и route_name
, поэтому я не могу использовать его, например, после перенаправления входа в систему.Есть ли лучший способ реализовать структуру маршрутов подпапок, и стоит ли группировать контроллеры следующим образом?