[Ror-es] problema con los submit
Luis Villegas
luis.vilec at gmail.com
Tue Jul 10 06:43:51 GMT 2007
El error te da porque has definido tu método así:
def buscar_por_programa(programa)
@matriculas=Matricula.find(:all,:conditions=>["programa=?",programa])
end
cuando deberías definirlo así:
def buscar_por_programa(programa)
@matriculas=Matricula.find
(:all,:conditions=>["programa=?",params[:programa]])
end
La explicación es que tú has definido tu método para que reciba un parámetro
y ese parámetro sea obligatorio. Eso se ve en la traza de error: ArgumentError
in MatriculaController#buscar_por_programa wrong number of arguments (0 for
1). Te dice que en el método buscar_por_programa del controlador
MatriculaController, estás enviando 0 argumentos cuando deberías mandar 1.
Como curiosidad, si realmente quisieras que el método recibiese un parámetro
y éste no fuese obligatorio, podrías definir el método así:
buscar_por_programa(programa=nil). Así en caso de que no le mandases el
parámetro, el método tendría programa inicializado al valor nil, o al valor
que le quieras dar por defecto.
Y para terminar, recomendarte que en las vistas, los text_fields los hagas
más descriptivos. Así: <%=text_field :matricula, :prorgama%>. Supongo que
será la forma más correcta porque en todas partes lo ponen así, aunque en
eso te podrán asesorar mejor los realmente expertos de esta lista, que hay
muchos más que este humilde servidor.
A ver si te ha servido. Un saludo
On 7/9/07, Jose Pedroza <ruby-forum-incoming at andreas-s.net> wrote:
>
> que mas luis:
> gracias por responder.
> el error que me aparece en el explorador (completo)
> ArgumentError in MatriculaController#buscar_por_programa
> wrong number of arguments (0 for 1)
> RAILS_ROOT: ./script/../config/..
> Request
> Parameters: {"programa"=>"sistemas", "commit"=>"buscar"}
> Show session dump
> ---
> :user: 1
> :return_to:
> flash: !map:ActionController::Flash::FlashHash {}
> Response
> Headers: {"cookie"=>[], "Cache-Control"=>"no-cache"}
> mi controller es
> class MatriculaController < ApplicationController
> before_filter :login_required
> scaffold:matricula
> def buscar_por_programa(programa)
> @matriculas=Matricula.find
> (:all,:conditions=>["programa=?",params[:programa]])
> end
> y el view es el que ya he puesto en mi mensaje anterior
> lo que quiero es listar un grupo de matriculas pero filtrado por el
> parametro programa es decir por ejemplo cuando quiera ver los inscritos
> del programa sistemas me aparescan solo estos. el href que esta en la
> vista es un intento desesperado por que me mandase hacia otra vista que
> tengo destinada para que liste los resultados de la busqueda.
> Gracias de antemano por la ayuda que me puedas brindar
> Jose
>
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.simplelogica.net/pipermail/ror-es/attachments/20070710/5a716d94/attachment.htm
More information about the Ror-es
mailing list