ruby-on-rails - 使用 rails 的管理 gem 自定义字段

标签 ruby-on-rails rubygems thoughtbot

我似乎找不到任何关于如何修改 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 ”文档页面说:

    Each of the Field types take a different set of options, which are specified through the .with_options class method.



    所以我想那个叫 with_optionsField::BelongsTo可能是要走的路,但是该领域(或任何其他领域)有哪些可用的选项?

    最佳答案

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

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

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

    您需要将这样的内容添加到 AuthorDashboard 以覆盖默认值:
    def display_resource(author)
      author.last_name
    end
    

    关于ruby-on-rails - 使用 rails 的管理 gem 自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052135/

    相关文章:

    ruby - rubinius 是否有等效的 isitruby19?

    ruby-on-rails - 在 Ubuntu 9.10 上安装 Rails 的最佳安装指南是什么?

    macos-big-sur - 基于 ARM 的 M1 Mac w/Big Sur 上的 Postgres 错误

    ruby-on-rails - Rails 入门 5.7

    ruby-on-rails - 如何正确安装 dc.js 以便与 Rails 5 一起使用?

    ruby-on-rails-3 - Gem Install PG 神秘报错extconf.rb相关

    ruby-on-rails - Rails - 从模型中获取不是验证错误的错误消息

    ruby-on-rails - 是什么导致私有(private)方法 `gsub` 调用 nil :NilClass during Rails migration?

    android - Thoughtbot Recyclerview 可扩展组不扩展