Hola foro :
Estoy desarrollando una aplicación donde tenÃa pensado poner un buscador
con ajax utilizando observe_field sobre un modelo Paciente, este modelo
está anidado con otros modelos.
map.resources :pacientes do |paciente|
paciente.resources :gacelas
paciente.resources :tratamientos, :member => { :quitar => :put }
,:collection => {:todos => :get , :informe => :get}
paciente.resources :tareas
end
En la vista del modelo Paciente, inserto el formulario y el observador :
BUSCADOR
Inserte parametro busqueda : <%= text_field_tag("query", params['query'], :size => 10 ) %> <%= image_tag("spinner.gif",
:align => "absmiddle",
:border => 0,
:id => "spinner",
:style =>"display: none;" ) %>
</p>
<%= observe_field 'query', :frequency => 1,
:update => 'actualizable',
:before => "Element.show('spinner')",
:success => "Element.hide('spinner')",
:url => {:action => 'index'},
:with => 'query' %>
</div>
En el controlador de Paciente, el metodo index :
def index
items_per_page = 10
sort = case params['sort']
when "name" then "name"
when "qty" then "quantity"
when "price" then "price"
when "name_reverse" then "name DESC"
when "qty_reverse" then "quantity DESC"
when "price_reverse" then "price DESC"
end
conditions = ["login LIKE ?", "%#{params[:query]}%"] unless
params[:query].nil?
@total = User.count(:conditions => conditions)
@pacientes = User.paginate :page => params[:page], :order =>
sort, :conditions => conditions, :per_page => items_per_page
if request.xml_http_request?
render :partial => "pacientes_lista", :layout => false
#render :partial => "index", :layout => false
end
Pues no hay manera, llevo toda la noche mirando , y empieza a hacer la
busqueda, es decir, si tengo un registro de nombre Mikel, según empiezo
a poner la letra M, el javascript entra en acción , y en vez de buscar ,
veo que empieza a crear campos null en la base de datos…
Lo cojonudo , es que si pongo el nombre exacto en el campo y le doy a
enter, me lo encuentra y no pasa nada, si no le doy al enter, empieza a
hacer crear registros y en el metodo create , hago que me redireccione a
otra pagina, entonces, se me vuelve loco.
Gracias