Ho installato rails_admin nella mia app e voglio fare qualcosa di semplice ... Ho due modelli e la loro associazione si presenta come previsto ... Ho un modello di registrazione del seminario che appartiene a :utente.nome display rails_admin invece di id
Nel rails_admin elenca i miei utenti di iscrizione al seminario come utente # 1, # 1 Utente, ecc
Mi piacerebbe avere che essere il nome dell'utente, invece. Quello che sono riuscito a fare è questo:
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
La sezione "pretty_value" mi dà il testo del nome e il cognome di mio utente ... ma ha due problemi:
1) Non è un più lungo un link. Se lascio il valore predefinito (Utente n. 1, Utente n. 2, ecc.) Fornisce un collegamento a tale utente. Come posso recuperare quel link? In che modo rails_admin definisce i suoi percorsi?
2) sembra terribilmente goffo di dover guardare in alto da id proprio lì nella mia forma ...
Scusate se questa è una questione fondamentale. Ho letto il manuale e ho cercato altre domande, ma non ha ancora "cliccato" per me. Sono anche piuttosto nuovo alle rotaie.
Grazie.
ho dovuto fare questo per farlo funzionare con il link:
ho aggiunto un metodo di supporto per il nome completo come suggerito, ma tenni a mio parere aiutanti:
module ApplicationHelper
def full_name(user_id)
user = User.find(user_id)
user.first_name + " " + user.last_name
end
end
Poi, ho cambiato la sezione "pretty_value" in questo modo:
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
In sostanza, per ottenere l'accesso a qualsiasi vista lui LPers (rotaie fatte o altro) si deve aggiungere indings [:] vista .my_tag_to_use
Per ottenere il percorso rails_admin per un utente, ad esempio, si può fare:
bindings[:view].rails_admin.show_path('user', user_id)
Ok, questo è un modo più pulito di farlo. Ma non mi ha preso il link ... Ho modificato la mia risposta sopra per mostrare come ho funzionato. – user1535082
Funziona ma in ricerche di associazione è possibile effettuare ricerche solo in base al nome o al cognome, ma non entrambi contemporaneamente. –
Ho anche un collegamento con object_label_method, l'associazione deve solo essere definita –