2016-08-20 2 views
5

Кажется, я не могу найти документацию о том, как изменить панели управления по умолчанию administrate gem, чтобы настроить то, что отображается на страницах индекса и показа. Вот моя конкретная цель:Настройка полей с помощью gem администратора для рельсов

  • Учитывая, что Articlebelongs_toAuthor
  • Когда я создать статью
  • Я хочу видеть фамилию автора в списке для соответствующего поля
  • И однажды Я хочу видеть фамилию автора в индексе статьи и показывать страницы

Прямо сейчас вместо этого я получаю не столь полезный «Автор № 4», как rec ord label. Вот автоматически приборная панель:

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» Страница документации говорит:

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

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

ответ

1

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

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

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

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

def display_resource(author) 
    author.last_name 
end 
+1

Спасибо. Хотя это решает конкретную проблему, я все еще задаюсь вопросом, какие опции доступны для каждого типа поля. – Giuseppe

Смежные вопросы