Estoy construyendo esta aplicación relajante usando RoR, y me resulta un poco difícil trazar una línea entre las cosas que deberían ir en el modelo y las cosas que deberían ir en el controlador .Dibujando la línea entre el modelo y el controlador
Como ejemplo, tengo 7 métodos en mi controlador (los que lo hacen relajante, es decir, index(), show(), create(), update() ...), y a menudo encuentran que es necesario agregue métodos adicionales y hágalo al crearlos como miembros.
Lo que me gustaría lograr aquí, es la adquisición de experiencia de ustedes sobre lo que ocurre cuando (es decir, debo pegar todas las interacciones de bases de datos en el modelo, y simplemente llamar a estos métodos desde el controlador?)
Además, agregando cosas que no involucran DB a mi controlador, es decir, quiero hacer una llamada HTTP para revisar algunos datos de un sitio web.
Las llamadas HTTP pueden ser grandes y complicadas. ¿Debería todo esto ir a mi controlador, o debería ser una clase o módulo separado, y solo debe incluirse en mi controlador para que pueda ser llamado?
Si es así, ¿cuál sería el mejor enfoque para hacerlo?
Estoy un poco confundido con todo esto, por lo que sería genial tener la opinión de alguien.
Gracias de antemano
Descubrí que rara vez necesito acciones adicionales en un controlador silencioso. En cambio, muevo esa acción a su propio controlador donde puede ser una acción estándar con un nombre apropiado. Definitivamente me llevó un tiempo cambiar mi forma de pensar en ese pensamiento. – wesgarrison
@wesgarrison: ¿podría darnos un ejemplo sobre solo usar acciones REST con un controlador diferente? – giorgian
@giorgian: Perdón por la respuesta tardía. Si tengo un servicio de asistencia con tickets, me gustaría agregar un método en tickets_controller llamado my_tickets (para listar mis tickets). En cambio, pienso en eso como un recurso separado: boletos que son míos; convirtiéndolo en un nuevo controlador: my_tickets_controller con solo una acción index() (no muestro/actualizo en my_tickets, esos van al tickets_controller). De esa forma, el controlador está ... controlando qué información se selecciona y se presenta a la vista. Ejemplo trivial, pero espero que ilustre el concepto. Piense en los recursos con index/show/create/update. – wesgarrison