使用administrate gem for rails自定义字段

时间:2016-08-20 08:31:25

标签: ruby-on-rails rubygems thoughtbot

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

  • 鉴于Article belongs_toAuthor
  • 当我创建文章时
  • 我希望在相关字段的下拉列表中看到作者的姓氏
  • 一旦保存,我想在文章的索引和展示页面中看到作者的姓氏

现在,相反,我得到了一个不那么有用的#34;作者#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

&#34; Customizing Dashboard&#34;文档页面说:

  

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

所以我认为在with_options上调用Field::BelongsTo可能是可行的方法,但是该字段可用的选项(或其他任何选项)?

1 个答案:

答案 0 :(得分:1)

在administrate中,您可以通过覆盖资源的信息中心中的#display_resource方法来自定义资源的显示方式。

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

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

您希望在AuthorDashboard中添加类似内容以覆盖默认值:

def display_resource(author)
  author.last_name
end