| |||
Re: Método controlador sin template bueno no se si entiendo bien lo que deseas hacer, pero según entendí lo que quieres es un método en un controlador que no represente ninguna vista, pues bien para hacer esto lo único que debes hacer es declarar el método como private en la case ActionController, seria algo así:
Código:
y si deseas que este método privado sea usado por cualquier controlador, solo lo declaras en tu clase ApplicationController. espero te sea útil... class AlgunController < ApplicationController def metodo_publico ... end private def metodo_privado end end |
| |||
Re: Método controlador sin template Gracias por la respuesta, pero al hacer lo que tu me dices me da el siguiente error: Unknown action No action responded to create Este método lo estoy llamando desde una plantilla, creada por el mismo controlador (llamado archivos), de la siguiente forma: <%= form_tag({:controller=>"archivos",:action=>'create ',:layout=>false}, :multipart => true,:complete =>"Element.hide('id_form')" )%> La acción guarda un objeto en la base de datos y además hace un upload de un archivo. Cuando ocurre, sólo quiero que se esconda ese formulario. Gracias por la ayuda. |
| |||
Re: Método controlador sin template ok, entonces en ese caso, ya que estas llamando a la funcion desde una vista, no puedes acceder a un metodo privado de la clase, lo que puedes hacer, es decirle al controlador que no renderize ninguna pagina, esto lo hacemos con el siguiente metodo:
Código:
render :nothing => true |