我想为我在最后一刻附加的Ruby on Rails应用程序构建一个真正快速而又脏的管理后端.我已经看过activescaffold并简化并认为它们都非常有吸引力,它们应该很容易运行,但我不太明白如何设置任何一个作为后端管理页面.它们看起来像标准的Ruby on Rails生成器/脚手架一样工作,用于创建模型 - 视图 - 控制器 - 表名称对应的可见前端.
当玩家已经在使用并且您想尽可能地避免影响其任何相关文件时,如何创建admin_players界面?
管理员无法使用原始资源的显示,编辑和索引.
我认为名称空间是解决您遇到的问题的方法:
map.namespace :admin do |admin| admin.resources :customers end
这将创建路线admin_customers
,new_admin_customers
等等.
然后在app/controller
目录中你可以有一个admin
目录.在您的管理目录中,创建一个管理员控制器:
./script/generate rspec_controller admin/admin class Admin::AdminController < ApplicationController layout "admin" before_filter :login_required end
然后创建一个admin客户控制器:
./script/generate rspec_controller admin/customers
从ApplicationController中获取此inhert:
class Admin::CustomersController < Admin::AdminController
这将查找视图,app/views/admin/customers
并期望布局app/views/layouts/admin.html.erb
.
然后,您可以使用您喜欢的任何插件或代码来实际执行您的管理,简化,ActiveScaffold,无论我喜欢使用什么resourcecs_controller
,因为如果您使用REST样式的架构,它会为您节省大量时间,并迫使您自己沿着这条路线行进在别处节省了很多时间.虽然如果你继承了这个应用程序,这是一个有争议的问题.
请访问https://github.com/gregbell/active_admin查看active_admin .
我已经广泛使用了Streamlined.
要使Streamline正常工作,您需要创建自己的控制器 - 因此您可以将其与应用程序的其余部分完全分开运行,甚至可以在单独的"admin"文件夹和命名空间中运行它. .
以下是最近的应用程序中的Customers控制器:
class CustomersController < ApplicationController layout 'streamlined' acts_as_streamlined Streamlined.ui_for(Customer) do exporters :csv new_submit_button :ajax => false default_order_options :order => "created_at desc" list_columns :name, :email, :mobile, :comments, :action_required_yes_no end end