Rails功能齐全的管理控制面板

时间:2011-06-06 08:53:28

标签: ruby-on-rails ruby ruby-on-rails-3

我想知道在创建完整的管理控制面板时Rails的方法是什么。完全成熟的我指的是一个真正的控制面板,可以在专业水平上使用,而不是个人/内部脚手架。

我不相信它存储在与用户界面相同的文件夹中,就像在博客截屏或Rails入门教程中所示!

我确定在任何地方都会使用相同的模型,但视图会是什么?

请详细说明。在Rails中开始我的第一个真实项目时,我不想使用我的PHP心态。

感谢。

3 个答案:

答案 0 :(得分:4)

在这里,您可以找到管理管理界面的rails插件/引擎列表:

http://ruby-toolbox.com/categories/rails_admin_interfaces.html

我已经使用了很多(typus和rails_admin),一点也不差。

还要检查最近发布的ActiveAdmin

http://activeadmin.info/

答案 1 :(得分:2)

这取决于您的应用程序的性质,但在与用户相同的视图中使用管理功能并没有错;只需在显示显示的某个部分之前测试您的权限角色。

如果您确实需要仅限管理员界面,则可以命名一些控制器和视图。还有其他帖子涉及如何执行此操作,例如The Rails Way - Namespaces

答案 2 :(得分:2)

正如前面的答案所暗示,命名空间对于将管理功能与其他用户功能完全分开是很有用的,例如:

# In your routes

namespace :admin do
  resources :stories
  resources :editors
   #etc.
end

然后,您将所有管理控制器放在“admin”子文件夹中,并始终需要管理员才能访问它们:

# app > controllers > admin > stories_controller.rb

class Admin::StoriesController < ApplicationController

  before_filter :authenticate_admin!   # assuming you're using devise

  def index
    #etc.
  end

end

这样做的好处是你只需要在一个地方检查管理员(管理控制器的before_filter),而不是在普通的控制器/视图中放置条件。