【问题标题】:Rails 3 - routing for admin sectionRails 3 - 管理部分的路由
【发布时间】:2011-11-23 16:34:47
【问题描述】:

我的管理部分的结构如下所示:

controlers -> admin -> admin_controllers...
views -> admin -> users -> data
views -> admin -> settings -> data

我的routes 看起来像:

resources :users, :user_sessions
match 'login' => 'user_sessions#new', :as => :login
match 'logout' => 'user_sessions#destroy', :as => :logout

编辑

  namespace :admin do
    ...      
    resources :users, :user_sessions
    match 'login' => 'user_sessions#new', :as => :login
    match 'logout' => 'user_sessions#destroy', :as => :logout
  end

但是如果我将浏览器的url地址设置为admin/login,那么我会收到一个关于缺少模板的错误(尤其是Missing template user_sessions/new)。这怎么可能?我忘记了什么?

谢谢

【问题讨论】:

    标签: ruby-on-rails view model routes admin


    【解决方案1】:

    要使用命名空间,你必须使用这样的 shema:

    namespace :admin do
      resources :users, :user_sessions
    end
    

    所有视图都应该在 app/views/admin/ 中,像这样

    app/views/admin/users/new.html.erb
    

    API 详情在这里:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

    【讨论】:

    • 这很奇怪 - 我就是这样。
    • 您管理员的控制器名称是什么?你是否遵循 Ruby 命名约定:Admin::UsersController ?
    • 其实你最好使用自己的管理员应用控制器来嵌套作用域控制器
    猜你喜欢
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多