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)