rail_admin Anzeigename anstelle von id

Ich habe Rails_Admin in meine App installiert und möchte etwas ziemlich Grundlegendes tun. Ich habe zwei Modelle und deren Zuordnung kommt wie erwartet zustande. Ich habe ein Seminarregistrierungsmodell, das gehört: Benutzer.

In der Rails_Admin werden meine Seminarregistrierungsbenutzer als Benutzer # 1, Benutzer # 1 usw. aufgelistet.

Ich möchte, dass dies stattdessen der Name des Benutzers ist. Was ich geschafft habe, ist Folgendes:

config.model SeminarRegistration do
label "Seminar Signups"
# Found associations:
  configure :user, :belongs_to_association 
  configure :seminar_time, :belongs_to_association   #   # Found columns:
  configure :id, :integer 
  configure :user_id, :integer         # Hidden 
  configure :seminar_time_id, :integer         # Hidden 
  configure :created_at, :datetime 
  configure :updated_at, :datetime   #   # Sections:

list do
  field :user do
    pretty_value do
     user = User.find(bindings[:object].user_id.to_s)
     user.first_name + " " + user.last_name
    end
  end
  field :seminar_time
end
export do; end
show do; end
edit do; end
create do; end
update do; end
end

Der Abschnitt "pretty_value" gibt mir den Text des Vor- und Nachnamens meines Benutzers an, weist jedoch zwei Probleme auf:

1) Es ist kein Link mehr. Wenn ich den Standardwert (Benutzer 1, Benutzer 2 usw.) behalte, wird ein Link zu diesem Benutzer bereitgestellt. Wie bekomme ich diesen Link zurück? Wie definiert Rails_Admin seine Pfade?

2) Scheint furchtbar klobig zu sein, genau dort in meiner Form nachzuschauen ...

Entschuldigung, wenn dies eine grundlegende Frage ist. Ich habe das Handbuch gelesen und andere Fragen nachgeschlagen, aber es hat für mich noch nicht ganz "geklickt". Ich bin auch ziemlich neu auf Schienen.

Vielen Dank.

Ich musste dies tun, damit es mit dem Link funktioniert:

Ich habe wie vorgeschlagen eine Hilfsmethode für den vollständigen Namen hinzugefügt, diese jedoch in meinen Ansichtshelfern beibehalten:

module ApplicationHelper
 def full_name(user_id)
  user = User.find(user_id)
  user.first_name + " " + user.last_name
 end
end

Dann habe ich den Abschnitt "pretty_value" folgendermaßen geändert:

pretty_value do
  user_id = bindings[:object].user_id
  full_name = bindings[:view].full_name(user_id)
  bindings[:view].link_to "#{full_name}", bindings[:view].rails_admin.show_path('user', user_id)
end

Grundsätzlich müssen Sie Indings [: view] .my_tag_to_use hinzufügen, um Zugriff auf View-Helfer (Rails made oder anderweitig) zu erhalten

Um die rail_admin-Route für einen Benutzer abzurufen, können Sie beispielsweise Folgendes tun:

bindings[:view].rails_admin.show_path('user', user_id)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage