使用管理 gem 为 rails 自定义字段
Customizing fields with the administrate gem for rails
我似乎找不到任何关于如何修改 administrate gem 的默认仪表板以自定义索引和显示页面中显示的内容的文档。这是我的具体目标:
- 鉴于
Article
belongs_to
和 Author
- 当我创建文章时
- 我想在相关字段的下拉列表中看到作者的姓氏
- 保存后,我想在文章索引和显示页面中看到作者的姓氏
现在,我得到一个不太有用的 "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.
所以我认为在 Field::BelongsTo
上调用 with_options
可能是可行的方法,但是该字段(或任何其他字段)有哪些可用选项?
在管理中,您可以通过覆盖资源仪表板中的 #display_resource 方法来自定义资源的显示方式。
您的所有仪表板都继承自 Administrate::BaseDashboard,它使用以下方法显示资源:
def display_resource(resource)
"#{resource.class} ##{resource.id}"
end
您需要将类似这样的内容添加到 AuthorDashboard 以覆盖默认设置:
def display_resource(author)
author.last_name
end
我似乎找不到任何关于如何修改 administrate gem 的默认仪表板以自定义索引和显示页面中显示的内容的文档。这是我的具体目标:
- 鉴于
Article
belongs_to
和Author
- 当我创建文章时
- 我想在相关字段的下拉列表中看到作者的姓氏
- 保存后,我想在文章索引和显示页面中看到作者的姓氏
现在,我得到一个不太有用的 "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.
所以我认为在 Field::BelongsTo
上调用 with_options
可能是可行的方法,但是该字段(或任何其他字段)有哪些可用选项?
在管理中,您可以通过覆盖资源仪表板中的 #display_resource 方法来自定义资源的显示方式。
您的所有仪表板都继承自 Administrate::BaseDashboard,它使用以下方法显示资源:
def display_resource(resource)
"#{resource.class} ##{resource.id}"
end
您需要将类似这样的内容添加到 AuthorDashboard 以覆盖默认设置:
def display_resource(author)
author.last_name
end