Model_auto_completer

Buenos dias.

aprendiendo ror. pero no dejo de chocarme con cosas.

ahora estoy utilizando el plugins de model_auto_completer de Xavier
Noria (muy bueno), para insertar registros, pero en el controller me
genera error al recuperar los datos del _form.rhtml y la instruccion que
tengo en el controller es:
def create
@preinscrito = Preinscrito.new(params[:preinscrito])


end

el error que genera al querer recuperar los datos es:
undefined method `stringify_keys!’ for [“1”]:Array

sera que se recupera los datos de otra manera?

mil gracias por la ayuda.

On Feb 19, 2008, at 17:38 , William F. wrote:

el error que genera al querer recuperar los datos es:
undefined method `stringify_keys!’ for [“1”]:Array

Puedes enviar por favor las relaciones entre los modelos, la parte
relevante del form, y un volcado de params?

– fxn

Mil Gracias Xavier por tu valiosa ayuda.

segun me haces caer en cuenta sera las relaciones que debo declararlas
por los campos?

class Participante < ActiveRecord::Base
has_many :preinscritos

class Preinscrito < ActiveRecord::Base
belongs_to :participante

_form.rhtml
<%= belongs_to_auto_completer :preinscrito, :participante, :nombres, {},
{ :size => 60 } %>

def create
@preinscrito = Preinscrito.new(params[:preinscrito])
@preinscrito.curso_id = @curso.id
@preinscrito.usuario_id = current_usuario.id
@preinscrito.regional_id = @curso.regional_id
@preinscrito.fch_preinscrito = Time.now

mil gracias nuevamente

Xavier sera esto lo que me pides?

def auto_complete_belongs_to_for_preinscrito_participante_nombres
query = params[:participante][:nombres].downcase
query = “%#{query}%”
@participantes = Participante.find(:all, :conditions =>
[‘lower(nombres) LIKE ?’, query], :limit => 10)
render :partial => ‘preinscrito_participante_completions’
end

gracias

On Feb 19, 2008, at 18:08 , William F. wrote:

belongs_to :participante

_form.rhtml
<%= belongs_to_auto_completer :preinscrito, :participante, :nombres,
{},
{ :size => 60 } %>

Hasta aqui parece ok, el volcado de params?

– fxn

Xavier. o sera este el volcado de params?

Parameters: {“participante”=>{“nombres”=>“WILLIAM FERNANDO BETANCUR
GALEANO”}, “curso_id”=>“1”, “commit”=>“Guardar”, “preinscrito”=>[“1”]}

Disculpa no se a que te refieres con el volcado de params.

gracias

On Feb 19, 2008, at 18:48 , William F. wrote:

Xavier. o sera este el volcado de params?

Parameters: {“participante”=>{“nombres”=>“WILLIAM FERNANDO BETANCUR
GALEANO”}, “curso_id”=>“1”, “commit”=>“Guardar”, “preinscrito”=>[“1”]}

Disculpa no se a que te refieres con el volcado de params.

Eso era.

Hay algo sospechoso, de acuerdo a tus mails parece que esperas
params[:preinscrito], pero el objeto del form segun se ve en params es
@participante.

Ves que params[:preinscrito] es un array con la cadena “1”? Asi mal
vamos a inicializar un modelo :-).

Parece que hay que cuadrar el form y la accion.

– fxn

Si Xavier, mil gracias estoy revisando para ver que hice mal.

cuando lo solucione te cuento, me distes una gran luz para solucionar el
problema.

de nuevo gracias.

William B.
Medellin, Colombia

Hola Xavier

asi fue como solucione el problema, me parece feo y parchudo, pero me
toca ponerla para poder avanzar, si yo se que esto no se debe hacer sin
comprender bien las cosas, ya me lo dijo Luis Felipe.

mas adelante voy a ver como lo arreglo.

id = params[:preinscrito][0] # obtengo el id del participante 

desplegado por model_auto_completer

#@preinscrito = Preinscrito.new(params[:preinscrito])
@preinscrito = Preinscrito.new
@preinscrito.participante_id = id
@preinscrito.curso_id = @curso.id
@preinscrito.usuario_id = current_usuario.id
@preinscrito.regional_id = @curso.regional_id
@preinscrito.fch_preinscrito = Time.now

mil gracias Xavier por tu valiosa ayuda como siempre lo haces.

William B.
Medellin, Colombia

No Xavier

no veo el problema que tengo.

sigo tu documentacion en: http://model-ac.rubyforge.org/ y no encuentro
el problema en mi app.

falta es probar con cosas sin mucho sentido.

gracias.

William B.
Medellin, Colombia