我目前正在寻找一个解决方案添加控制器没有一个模型来管理由ActiveAdmin生成(和Rails 3.1)。 当然,我想在导航栏中添加一个新菜单。使用ActiveAdmin.register MyControllerWithoutModel do
不起作用。
编辑:此问题是Add page to active admin的副本,但未找到答案。
我目前正在寻找一个解决方案添加控制器没有一个模型来管理由ActiveAdmin生成(和Rails 3.1)。 当然,我想在导航栏中添加一个新菜单。使用ActiveAdmin.register MyControllerWithoutModel do
不起作用。
编辑:此问题是Add page to active admin的副本,但未找到答案。
我一直在寻找这个来编辑应用程序配置,但它接缝,没有模型是不可能的。我只是用db在db中创建了空模型并像往常一样注册资源。
要自定义资源:
禁用过滤
config.clear_sidebar_sections!
自定义菜单路径
ActiveAdmin.application.namespaces[:admin].resources['Configuration'].namespace.menu.items.each{|i| i.instance_eval('@cached_url[:admin_configurations_path] = "/admin"')}
这是在代码块工作对我来说,刚刚替补正确的名称ViewLogger 。这样你就不必在数据库中创建一个虚拟表。
使用此内容创建文件/app/models/viewlogger.rb,以获得更高级的无表格模型,您可能需要检查http://keithmcdonnell.net/activerecord_tableless_model_gem.html或将您自己的洞察力汇总在一起。现在
match '/admin/viewlogger' => 'admin/viewlogger#index', :as => :admin_viewlogger
你:
class Viewlogger < ActiveRecord::Base
def self.columns
@columns ||= []
end
# ...
end
添加一个条目来/config/initializers/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w(viewlogger)
end
为您的viewlogger的路线,在配置/ routes.rb中可以按如下方式制定activeadmin寄存器块(请确保您在正确的位置创建了部分视图)
ActiveAdmin.register Viewlogger do
config.comments = false
before_filter do @skip_sidebar = true end
# menu false
config.clear_action_items! # this will prevent the 'new button' showing up
controller do
def index
# some hopefully useful code
render 'admin/viewlogger/index', :layout => 'active_admin'
end
end
末
一种解决方案是创建一个虚拟模型,但做到这一点后,我有这样的错误:“未定义的方法'quoted_table_name”的MyControllerWithoutModel:类” –
做**不**再次张贴问题,只是因为没有找到答案。如果你有关于这个问题的细节,你可以建议编辑。此外,如果你获得更多的声誉,你可以提供一个赏金的问题,将获得更多的意见和可能更多的答案。故意复制问题可能会导致您帖子上的标志可能导致进一步的版主操作。 – casperOne