Tengo alrededor de 5 modelos que se comportan de manera muy similar. De hecho, me gustaría que compartan una acción para mostrarlos. Por ejemplo, para los modelos de coches, camiones, Van Quiero tener una definición como:Use una sola acción para múltiples modelos
[Car, Truck, Van].each do |Model|
action_for Model do #I made this up to show what I mean
def index
@model = Model.all
@model_names = @model.map(&:name).join(', ')
end
end
end
¿Cómo voy a hacer esto, así que no estoy definiendo la misma acción en varios controladores? (Que no es muy seco) ¿Sería en el application_controller? Y si no es demasiado pedir, ¿cómo podría hacer esto para que también compartan la vista?
ACTUALIZACIÓN
Sería preferible si esto puede estar fuera de los controladores individuales. Si puedo hacer que esto funcione bien, me gustaría ni siquiera tener que generar los controladores individuales.
Es posible que le interese echar un vistazo o usar [Recursos heredables] (https://github.com/josevalim/inherited_resources) de José Valim. ActiveAdmin lo usa para acciones RESTful predeterminadas. – coreyward