[ruby-it] form search ajax e problema di rendering.
Mauro
mrsanna1 a gmail.com
Lun 15 Mar 2010 23:18:30 CET
L'index del controller X e':
def index
fullname = params[:search].split(" ") if params[:search]
if fullname
firstname = fullname[0]
lastname = fullname[1]
end
@rusers = Ruser.search(firstname.to_s, lastname.to_s, params[:page])
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @rusers }
end
end
la pagina .erb e':
<% form_tag do %>
<p>
<%= label_tag :'Cerca nominativo:' %>
<%= text_field_tag :search, params[:search] %>
<%= image_tag("indicator.gif", :id => "spinner", :style =>
"display: none;") %>
</p>
<% end %>
<%= observe_field(:search,
:frequency => 0.5,
:update => :search_hits,
:loading => "Element.show('spinner')",
:complete => "Element.hide('spinner')",
:url => rusers_path, :method => :get,
:with => "'search=' + escape(value)")%>
<div id="search_hits">
<table>
<tr>
<th>First name</th>
.
.
.
.
.
</table>
</div>
In pratica l'index mi mostra un elenco di utenti, se esistono, e un
form di ricerca tramite ajax.
Il problema e' il rendering in quanto in pratica, inserendo dei valori
nel form, mi viene duplicato il layout all'interno del div
"search_hints"
Non posso mettere nell'action index "render :layout => false" in
quanto mi da un Double Render Error e se metto "render :layout=> false
and return if params[:search]", come suggerito in
http://guides.rubyonrails.org/layouts_and_rendering.html, torno al
punto di partenza nel senso che mi viene ripetuto il layout
all'interno del div.
Quale soluzione si potrebbe adottare?
More information about the Ml
mailing list