7

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”。

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

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

4

1 回答 1

10

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

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

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

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

于 2013-09-28T18:47:49.463 回答