5

我似乎找不到任何有关如何修改administrate gem的默认仪表板以自定义在索引和显示页面中显示的内容的文档。这是我的具体目标:

  • 鉴于Article belongs_to一个Author
  • 当我创建文章时
  • 我想在关联字段的下拉列表中查看作者的姓氏
  • 保存后,我想在文章索引和显示页面中查看作者的姓氏

现在,相反,我得到了一个不太有用的“作者#4”作为唱片公司。这是自动生成的仪表板:

class ArticleDashboard < Administrate::BaseDashboard
  ATTRIBUTE_TYPES = {
    author: Field::BelongsTo,
    id: Field::Number,
    title: Field::String,
    content: Field::Text,
    created_at: Field::DateTime,
    updated_at: Field::DateTime,
  }.freeze
  [snip]
end

定制仪表板”文档页面说:

每个 Field 类型都有一组不同的选项,这些选项是通过.with_options类方法指定的。

所以我认为调用with_options可能Field::BelongsTo是要走的路,但是该领域(或任何其他领域)有哪些可用选项?

4

1 回答 1

3

在管理中,您可以通过覆盖资源仪表板中的#display_resource 方法来自定义资源的显示方式。

您的所有仪表板都继承自 Administrate::BaseDashboard,它使用以下方法显示资源:

def display_resource(resource)
  "#{resource.class} ##{resource.id}"
end

您需要将类似这样的内容添加到 AuthorDashboard 以覆盖默认值:

def display_resource(author)
  author.last_name
end
于 2016-09-10T22:54:13.130 回答