【问题标题】:How to create a custom page in ActiveAdmin gem如何在 ActiveAdmin gem 中创建自定义页面
【发布时间】:2013-10-04 17:21:00
【问题描述】:

Ruby 2.0、Rails 4.0、PSQL 9.3

在 ActiveAdmin 文档中有示例:

ActiveAdmin.register_page "My Page" do
  content do
    para "Hello World"
  end
end

我把这段代码放在哪里?文档说:

在上面的示例中,将在 /admin/my_page 创建一个新页面 标题为“My Page”,内容为“Hello World”。

这意味着这样的文件会以某种方式自动创建?尽管如此,我还是在 app/admin 下创建了一个名为 import.rb 的文件,并且菜单中的 Import 项确实出现了。但是,我不能使用 HTML,因为这个文件是 .rb 而不是 .erb。我想,为了能够使用 html,我需要在 content 方法中创建一个局部和 den 渲染它。但是当我在app/views 下查看时,没有admin 文件夹(只有layouts)。这是否意味着我需要在app/views 下创建文件夹admin?如果是,我应该将我的部分 - 直接放在 app/views/admin 下还是在新文件夹 app/views/admin/import 下?

对于菜单问题,我很抱歉,但 ActiveAdmin 的文档相当简陋。如果有人能更详细地说明在 ActiveAdmin 中创建和添加内容到新页面所需的步骤,我将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    文档的意思是,如果您创建一个新的自定义页面 app/admin/my_page.rb,该页面将在 URL /admin/my_page 中可用(如果您使用默认的 ActiveAdmin 配置)。

    关于为您的my_page.rb 渲染 ERB 或 HAML 部分,您可以这样做:

    ActiveAdmin.register_page "My Page" do
      content do
        render :partial => 'about'
      end
    end
    

    这将在目录app/views/admin/my_page/ 下查找。如果目录不存在,请创建它们。此外,您仍然可以通过引用完整的模板路径(例如 shared/sections/about)来指定其他目录,就像非 ActiveAdmin 控制器一样。

    【讨论】:

    • 我们从哪里访问这个页面?
    • @NidhinSG:“此页面将在 URL /admin/my_page 中可用”:-)
    猜你喜欢
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 2019-10-28
    相关资源
    最近更新 更多