He instalado rails_admin en mi aplicación y quiero hacer algo bastante básico ... Tengo dos modelos y su asociación aparece como se esperaba ... Tengo un modelo de registro de seminario que pertenece_ a :usuario.rails_admin nombre para mostrar en lugar de id
En el rails_admin En él se enumeran mis usuarios inscripción del seminario como Usuario # 1, Usuario # 1, etc.
me gustaría tener que ser el nombre del usuario en su lugar. Lo que he logrado hacer es lo siguiente:
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 sección "pretty_value" me da el texto del nombre y apellido de mi usuario ... pero tiene dos problemas:
1) Es sin más un enlace. Si dejo el valor predeterminado (Usuario n. ° 1, Usuario n. ° 2, etc.), proporciona un enlace a ese usuario. ¿Cómo recupero ese enlace? ¿Cómo define rails_admin sus rutas?
2) parece muy torpe a tener que mirar hacia arriba por id allí mismo, en mi forma ...
Lo siento si esto es una pregunta básica. He leído el manual y busqué otras preguntas, pero aún no me han hecho "clic". También soy bastante nuevo en los rieles.
Gracias.
que tenía que hacer esto para conseguir que funcione con el enlace:
añadí un método de ayuda para el nombre completo tal como se sugiere, pero guardé en mis ayudantes de vista:
module ApplicationHelper
def full_name(user_id)
user = User.find(user_id)
user.first_name + " " + user.last_name
end
end
Entonces, cambié la sección "pretty_value" de esta manera:
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
Básicamente, para obtener acceso a cualquier punto de vista que él lpers (carriles de hecho o de otra manera) que hay que añadir ONCLUSIONES [Ver]: .my_tag_to_use
Para obtener la ruta rails_admin para un usuario, por ejemplo, puede hacer:
bindings[:view].rails_admin.show_path('user', user_id)
Ok, esa es una forma más limpia de hacerlo. Pero no conseguí el enlace ... Edité mi respuesta anterior para mostrar cómo funcionaba. – user1535082
Funciona, pero en las búsquedas de asociación solo puede buscar según el nombre o el apellido, pero no ambos juntos. –
También recibo un enlace con object_label_method, la asociación solo tiene que definirse –