On Fri, Oct 23, 2009 at 4:46 PM, Alex2101 <[email protected]> wrote:
>
> Hi,
>
> I am pretty new to ror...
> I create a table filled thanks to a partial with a collection.
> Each line is a "form_for" ending with a submit which update some
> values for a specific row.
> My problem is that I would like, after clicking on the submit button
> that, the concerned row and only this one updates and not the whole
> table. With the following code, it update well, but at the end at only
> view the modified row (loosing application layout, table view...)
>
> Can someone help me ?
>
You should submit that row using AJAX, and get the result to update that row.
You have a few possible ways to do this. you should check the
button_to_remote doc and you Javascript framework doc to implement a
unobstrusive solution.
Basically, the procedure is that, you submit your fields, via AJAX,
and update the right row with the result.

> I have the following views :
>
> --------- views/home/index.html.erb
>
> <% content_for :content do %>
>  <h1><%= @group.name %></h1>
>    <table>
>
>       <!-- Headers -->
>      <tr>
>        <th>Cars</th>
>        <% @group.checks.each do |c| %>
>          <th><%= c.name %></th>
>        <% end %>
>      </tr>
>
>      <!-- Values -->
>      <%= render :partial => "cars", :collection => @group.cars%>
>    </table>
>
>    <%= link_to 'Add car', new_car_path %>
> <% end %>
>
> --------- views/home/_car.html.erb
> <tr>
>  <% form_for car, :url => { :action => "update_car_checks" } do |f|
> %>
>    <td><%= car.name %></td>
>    <%= hidden_field_tag :car_id, car.id %>
>    <% car.group.checks.each do |c| %>
>      <td><%= text_field_tag 'check_' + c.id.to_s, car.check_at
> (c.id), :size => 1 %></td>
>    <% end %>
>    <td><%= f.submit 'Record' %></td>
>    <% end %>
> </tr>
>
> Then, in home controller :
> --------- controllers/home_controller.rb
> def update_car_checks
> �...@car = Car.find(params[:car_id])
>
>  #... Some updates and check for the car...
>
>  render :partial => "car"
> end
>
> >
>



-- 
Leonardo Mateo.
There's no place like ~

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" 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-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to