Hi,
I implemented the partial, in order to make a live search with Ajax.
Both works, but there is a problem - my records are a set of rows in a
table, and the table has some header and footer data (with <th> tag),
that I need to show with the filtered (searched) set of records also.
It initially shows fine from the 'list' action (when no filtering/
search is done). But after I type something in the search box, the
results are returned ok, but no synchronozation with the table.
I call the partial from my view, and have a method 'search' in my
controller:
def search
items_per_page = 10
@server_pages, @servers = paginate :servers,
:order => 'server_name',
:per_page => items_per_page,
:conditions => ["lower(server_name) like ?", "%" +
params[:search].downcase + "%"]
if @servers.size > 0
render :partial => 'server', :collection => @servers
else
render :text => "<li>No results found</li>", :layout => false
end
end
Here is the partial '_server.rhtml':
<tr class="<%= cycle("record", "even-record") %>" >
<td><%= server.server_name -%></td>
<td><%= server.server_type.server_type_desc -%></td>
<td><%= server.platform.platform_name -%></td>
<td><%= server.environment.environment_name -%></td>
<td><%= link_to 'Edit', {:action => "edit", :server_id =>
server.server_id} %></td>
<td><%= link_to "Delete", {:action => 'delete', :server_id =>
server.server_id},
:confirm => "Are you sure you want to delete this Server?"
%></td>
<td><%= link_to 'App Servers', {:action =>
"show_app_servers", :server_id => server.server_id} %></td>
<td><%= link_to 'DB Servers', {:action =>
"show_database_servers", :server_id => server.server_id} %></td>
<td><%= link_to 'DB Conns', {:action =>
"show_db_conns", :server_id => server.server_id} %></td>
</tr>
And lastly, here is the view 'list.rhtml':
<%= text_field_tag :searchQuery %>
<img id="search-icon" src="/images/search-icon.gif" style="display:
none;" />
<div id="table">
<table cellpadding="0" cellspacing="0">
<tr class="header-row"><th colspan="100">Servers</th></tr>
<tr class="header-row">
<th>Server Name</th>
<th>Server Type</th>
<th>Platform</th>
<th>Environment</th>
<th colspan="5"></th>
</tr>
<%= render :partial => 'server', :collection => @servers %>
</table>
</div>
<%= observe_field( :searchQuery, :frequency => 0.5,
:update => 'table',
:before => "Element.show('search-icon')",
:success => "Element.hide('search-icon')",
:url => { :controller => 'server', :action=> 'search' },
:with => "'search=' + encodeURIComponent(value)"
) %>
Having tough time... Anybody could help please?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---