2016-08-20 31 views
5

Nie mogę znaleźć żadnej dokumentacji dotyczącej modyfikacji domyślnych pulpitów nawigacyjnych administrate gem w celu dostosowania zawartości wyświetlanej w indeksie i na stronach. Oto mój specyficzny cel:Dostosowywanie pól za pomocą zasobnika administrowania dla szyn

  • Biorąc pod uwagę, że Articlebelongs_toAuthor
  • Kiedy tworzę artykuł
  • chcę zobaczyć nazwisko autora z listy rozwijanej w polu związanym
  • I raz zapisany, chcę zobaczyć nazwisko autora w indeksie artykułu i pokazać strony:

W tej chwili dostaję niezbyt przydatny "Autor nr 4" jako rec etykieta ord. Tutaj jest generowany automatycznie na desce rozdzielczej:

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 

W „Customizing Dashboard” strona dokumentacja mówi:

Każdy z typów pól wziąć inny zestaw opcji, które są określone za pomocą metody .with_options klasy.

więc zorientować, że nazywając with_options na Field::BelongsTo może być droga, ale jakie opcje są dostępne dla tego pola (lub dla innych, dla tej sprawy)?

Odpowiedz

1

W systemie administracyjnym można dostosować sposób wyświetlania zasobu, zastępując metodę #display_resource na pulpicie zasobów.

Wszystkie Twoje pulpitów dziedziczą administrować :: BaseDashboard, który stosuje się następującą metodę, aby wyświetlić zasoby:

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

Będziemy chcieli dodać coś takiego do AuthorDashboard nadpisać domyślne:

def display_resource(author) 
    author.last_name 
end 
+1

Dzięki. Chociaż rozwiązuje to konkretny problem, nadal zastanawiam się, jakie opcje są dostępne dla każdego typu pola. – Giuseppe