【问题标题】:Customizing fields with the administrate gem for rails使用 administrate gem for rails 自定义字段
【发布时间】:2016-09-11 06:54:13
【问题描述】:

我似乎找不到任何有关如何修改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

“Customizing Dashboard”文档页面说:

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

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

【问题讨论】:

    标签: ruby-on-rails rubygems thoughtbot


    【解决方案1】:

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

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

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

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

    def display_resource(author)
      author.last_name
    end
    

    【讨论】:

    • 谢谢。虽然这解决了具体问题,但我仍然想知道每种字段类型有哪些可用选项。
    猜你喜欢
    • 2020-03-22
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多