Настройка полей с помощью гема администрирования для рельсов

ruby-on-rails rubygems thoughtbot

1029 просмотра

1 ответ

Я не могу найти какую-либо документацию о том, как изменить панели управления по умолчанию для 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

На странице документации « Настройка панели инструментов » написано:

Каждый из типов полей имеет различный набор параметров, которые задаются с помощью .with_optionsметода класса.

Так я полагаю , что вызов with_optionsна Field::BelongsToможет быть путем, но какие варианты доступны для этого поля (или любых других, по этому вопросу)?

Автор: Giuseppe Источник Размещён: 08.11.2019 11:04

Ответы (1)


1 плюс

Решение

В режиме администрирования вы можете настроить отображение ресурса, переписав метод #display_resource на панели мониторинга ресурса.

Все ваши панели мониторинга наследуются от Administrate :: BaseDashboard, который использует следующий метод для отображения ресурсов:

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

Вы захотите добавить что-то вроде этого в AuthorDashboard, чтобы перезаписать значение по умолчанию:

def display_resource(author)
  author.last_name
end
Автор: Ian Agne Размещён: 10.09.2016 10:54
Вопросы из категории :
32x32