【发布时间】:2012-02-14 14:08:21
【问题描述】:
我正在使用omniauth,并发现为此使用了一个子文件夹(在官方示例中)controllers/users/omniauth_callbacks_controller.rb。我需要为用户创建一个用户显示页面以及其他操作,因此我决定在 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
所以我无法在登录重定向之后使用它。有没有更好的方法来实现子文件夹路由结构?像这样对控制器进行分组是个好主意吗?
【问题讨论】:
标签: ruby-on-rails controller devise routes subdirectory