Aquí esta el pastie de como resolví el problema http://www.pastie.org/1075044
Lo que hice fue hacer un routing personalizado, como lo llamo yo jeje, y en ves
de ponerle el nombre del controlador, le puse otro nombre y funciono!!
map.connect 'entradas1/entrada_general' ,
:conditions => { :method => [:get, :post] },
:controller => "entradas" ,
:action => "entrada_general"
No se si es la mejor manera, quisiera que me lo dijeran, pero hasta ahora
funciono.
Si le pongo el nombre del mismo controlador, no se porque llama al método SHOW,
no tengo ni idea porque hace eso pero como esto ya me funciono estoy un poco
tranquilo, pero me gustaría saber la manera correcta de hacerlo.
Desde ya gracias
Nestor
================================================================================================
2010/8/3 Nestor Rodriguez <[email protected]>
Le probé de varias formas así como me aconsejaron pero no se porque me lanza
el siguiente error
ActiveRecord::RecordNotFound in EntradasController#show
Couldn't find Entrada with ID=entradas_generalRAILS_ROOT:
C:/Users/nestor/Documents/rails/control_ow
Request
Parameters:
{"id"=>"entradas_general"}La forma en que lo envie es el siguiente:
def entradas_general
@entradas = Entrada.paginate :page => params[:page], :per_page =>
10,:order=>"fecha_hora desc"
respond_to do |format|
#format.html # index.html.erb
#format.html { render :action => "index" }
format.html { render :template => "index" }
format.xml { render :xml => @entradas }
end
end
Ya probé de otras maneras las que me aconsejaron pero siempre es el mismo
error, podrian decirme que estoy haciendo mal.
Desde ya gracias amigos.
Nestor
From: Rodrigo Dominguez
Sent: Monday, August 02, 2010 8:59 PM
To: Grupo Ruby Argentina
Subject: Re: [RubyArg] Como usar un render para ver el mismo view para dos o
tres controladores diferentes?
Proba con
def entradas_general
@entradas = Entrada.paginate :page => params[:page], :per_page =>
10,:order=>"fecha_hora desc"
respond_to do |format|
format.html { render :template => "entradas/index" }
format.xml { render :xml => @entradas }
end
end
O tambien podes probar, si la acción esta dentro del mismo controlador, con
render :template => “index” o con render :action => “index”
Saludos ;)
El 03/08/10 00:47, "Nestor Rodriguez" <[email protected]> escribió:
Que tal amigos de RoR, estoy mareándome con esto de los render, según lo
que lei el render lo que hace es llamar a diferentes view, es decir a
diferentes html.erb segun se le indique.
Aqui tengo la accion que llama al index (segun entiendo no al controlador
sino a su vista)
def entradas_general
@entradas = Entrada.paginate :page => params[:page], :per_page =>
10,:order=>"fecha_hora desc"
respond_to do |format|
render :template => "entradas/index.html.erb" <<================
format.xml { render :xml => @entradas }
end
end
Sin embargo me devuelve un error.
La verdad no entiendo muy bien como funciona, yo solo estoy queriendo usar
el mismo view para dos controladores diferentes.
Si alguien puede ayudarme.
Atte.
Nestor
----------------------------------------------------------------------------
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
------------------------------------------------------------------------------
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
Hola Nestor,
¿Podrías hacer un pastie de la vista/template "entradas/index"?
De todas maneras, como ya te han mencionado, me parece que hay algún problema
con tu routes.rb ya que parece que ni siquiera se está ejecutando este nuevo
método de tu controller.
Recordá también que las variables de instancia requeridas en esa vista también
estén definidas en este nuevo controller method "entradas_general". Esto es, si
en tu template index tenés algo como @foo, entonces es esperado que esa
variable también la definas en el método "entradas_general" ya que lo que vos
estarías haciendo es un render solo de la vista y no un redirect al index.
Saludos,
--
Ariel Diaz Bermejo
http://www.linkedin.com/in/adiazbermejo
(X5800AOD) - Río Cuarto - Argentina
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar