Estoy haciendo mi propia vista personalizada que necesito para que el proceso de creación de modelos asociados sea menos doloroso para mis usuarios. Quiero mostrar todas las piezas asociadas de los modelos en línea, con controles para editarlas. Esto es bastante fácil de implementar para los campos básicos, pero prefiero usar un parcial de form_filtering_select
para las asociaciones del modelo en línea, pero no puedo encontrar ninguna documentación para hacerlo.¿Utiliza los formularios rails_admin en las vistas personalizadas?
Respuesta
Hay una joya genial que hace más o menos lo que quieres. Se llama Nested Form Fields. Le permite editar registros (junto con sus asociaciones has_many) en una sola página. Lo bueno de esto es que incluso usa jQuery para agregar/eliminar campos de forma dinámica sin una recarga de página. Verifique las gemas docs para un uso correcto. ¡Espero que ayude!
Puede utilizar Nested Form
Considérese una clase de usuario que devuelve un conjunto de instancias de proyectos a partir del método de proyectos lector y responde a la projects_attributes = método de escritor:
class User
def projects
[@project1, @project2]
end
def projects_attributes=(attributes)
# Process the attributes hash
end
end
Tenga en cuenta que la projects_attributes = escritor De hecho, se requiere un método para fields_for para identificar correctamente: proyectos como una colección, y los índices correctos que se establecerán en el formulario de marcado.
Cuando los proyectos que ya es una asociación de usuario puede utilizar accepts_nested_attributes_for para definir el método escritor para usted:
class User < ActiveRecord::Base
has_many :projects
accepts_nested_attributes_for :projects
end
Este modelo se puede utilizar ahora con un fields_for anidada. El bloque dado a la llamada fields_for anidada se repetirá para cada instancia de la colección:
<%= nested_form_for @user do |user_form| %>
...
<%= user_form.fields_for :projects do |project_fields| %>
<% if project_fields.object.active? %>
Name: <%= project_fields.text_field :name %>
<% end %>
<% end %>
...
<% end %>
Aquí va el Reference para más detalles.
¿Tiene un ejemplo de lo que escribiría para procesar los atributos hash en este ejemplo? – pappy
- 1. C# - ¿Utiliza anotaciones personalizadas?
- 2. Vistas personalizadas de iOS en archivos xib
- 3. Android: atributos predeterminados para vistas personalizadas
- 4. (Vibrating TextView) Configurar atributos para vistas personalizadas
- 5. ¿Cómo funcionan los índices en las vistas?
- 6. ¿Utiliza varias fuentes personalizadas con @ font-face?
- 7. Vistas personalizadas de Android en Eclipse Visual Editor
- 8. Primeros pasos para crear transiciones de vistas personalizadas
- 9. Plantillas T4 personalizadas de ASP.NET MVC para vistas
- 10. Reutilizando formularios de administrador para las vistas de usuario en django?
- 11. Mezcla mapas de Google superposiciones personalizadas con Backbone Vistas
- 12. Gestión de las vistas con los routers en Backbone.js
- 13. ¿Usa sugerencias para las vistas?
- 14. ¿Cómo configuro las rutas personalizadas en Phalcon?
- 15. Las acciones personalizadas de CanCan no funcionan con los bloques
- 16. Fuentes personalizadas en Java
- 17. wpf que define las propiedades personalizadas para los estilos
- 18. ¿Dónde guardo las vistas parciales (vistas) en Zend Framework, para poder acceder a todas las vistas en mi aplicación?
- 19. rails_admin con el conflicto rails-api
- 20. MVC InvalidOperationException con las páginas de error personalizadas
- 21. struts2 recortar todas las cadenas obtenidas de los formularios
- 22. ¿Se requiere realmente acción en los formularios?
- 23. Deslizar para cambiar las vistas
- 24. ¿Para qué sirven las vistas?
- 25. En ASP.NET MVC (3.0/Razor), ¿prefiere varias vistas o condicionales dentro de las vistas? ¿Por qué?
- 26. expresiones de pasar a las etiquetas personalizadas en JSP
- 27. ¿Deberían las vistas establecer los datos del modelo?
- 28. rails_admin nombre para mostrar en lugar de id
- 29. ¿Actualizar las vistas de MySQL?
- 30. ¿Las vistas se actualizan automáticamente
Te daré la recompensa si agregas un ejemplo usando Campos de formulario anidados. – max