【问题标题】:ActiveAdmin how to add a custom controller without model [duplicate]ActiveAdmin如何添加没有模型的自定义控制器[重复]
【发布时间】:2011-10-09 19:51:53
【问题描述】:

可能重复:
Add page to active admin

我目前正在寻找一种解决方案,用于向 ActiveAdmin(和 Rails 3.1)生成的管理员添加没有模型的控制器。 当然我想在导航栏中添加一个新菜单。

使用ActiveAdmin.register MyControllerWithoutModel do 不起作用。

编辑:此问题与Add page to active admin 重复,但未找到答案。

【问题讨论】:

  • 一个解决方案是创建一个虚拟模型,但这样做之后,我有这个错误:“未定义的方法 `quoted_table_name' for MyControllerWithoutModel:Class”
  • 不要不要仅仅因为找不到答案而再次发布问题。如果您有关于该问题的详细信息,您可以提出修改建议。此外,如果您获得更多声誉,您可以针对该问题提供赏金,这将获得更多观点并可能获得更多答案。故意复制问题可能会导致您的帖子被标记,这可能会导致管理员采取进一步的行动。

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


【解决方案1】:

这对我有用,只需在代码块中用正确的名称替换 ViewLogger。这样您就不必在数据库中创建一个虚拟表。

使用此内容创建一个文件 /app/models/viewlogger.rb,对于更高级的无表格模型,您可能需要查看 http://keithmcdonnell.net/activerecord_tableless_model_gem.html 或一起谷歌自己的见解。

class Viewlogger < ActiveRecord::Base

  def self.columns 
    @columns ||= []
  end

  # ...  

end

向 /config/initializers/inflections.rb 添加一个条目

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable %w( viewlogger )
end

在 config/routes.rb 中为您的视图记录器设置路由:

match '/admin/viewlogger' => 'admin/viewlogger#index', :as => :admin_viewlogger

现在您可以按如下方式制定 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   

结束

【讨论】:

    【解决方案2】:

    我一直在寻找这个来编辑应用程序配置,但它似乎没有模型是不可能的。我刚刚在 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"')}
    

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-16
      相关资源
      最近更新 更多