Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Ruby (http://www.forosdelweb.com/f105/)
-   -   Método controlador sin template (http://www.forosdelweb.com/f105/metodo-controlador-sin-template-461209/)

gameXs 31/01/2007 22:47

Método controlador sin template
 
Hola, deseo ejecutar un método de un controlador pero no quiero que me redireccione a una template, como se podría hacer??.

el_ro 20/03/2007 11:00

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:

class AlgunController < ApplicationController
  def metodo_publico
    ...
  end

  private
    def metodo_privado
  end
end

y si deseas que este método privado sea usado por cualquier controlador, solo lo declaras en tu clase ApplicationController. espero te sea útil...

gameXs 09/06/2007 18:02

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.

el_ro 10/06/2007 12:30

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


La zona horaria es GMT -6. Ahora son las 02:52.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.