Hola a todos,

Yo soy bastante nuevo con rails asi que tomen lo que les digo con pinzas, y
si ven que estoy equivocado me avisan ;)

A mi me ha pasado algo similar....

Lo que me pasaba es que al querer llamar a un action que defini yo
(supongamos que el controller se llama "contacts" y el action se llama
"show_profiles") me saltaba el error de que no encontraba el registro con el
id = "show_profiles"

en mi archivo de routes tenia:

(1) - map.resources :contacts
(2) - map.contacts_show_profiles '/contacts/show_profiles/', :controller =>
'contacts', :action => 'show_profiles'

en (1)  se define que si viene algo con url ".../contacts/algo" el asume de
que se llama al action show con el id = algo.... de ahi es que viene el
error, con algo=show_profiles

al poner la definición (2) antes que la (1) dejo de darme el error. En su
momento asumi que rails barre con el archivo del comienzo al final y para
con la primera ruta que le concuerda.

Espero estar en lo correcto y no marear mas al compañero..jeje

saludos!!

Pablo




El 4 de agosto de 2010 11:17, Nestor Rodriguez <[email protected]>escribió:

>  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_general
>>
>> RAILS_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
>
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a