Bonjour,

Je développe actuellement une application en ROR qui lit des données via un XML.
Les données sont comparées à l'existant dans la basse de donnée et le résultat est proposé à l'utilisateur qui peut valider les changements.

Je finis donc avec un tableau de donnée et un bouton valider.
Voici un exemple de code du formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<% form_remote_tag(:url=>{:action=>:save_ext_all,:code=>@code_list},:update=>"list") do -%>
  <table>
    <tr><th>list_id</th><th>title</th><th>language</th><th>list_cate</th></tr>
      <%for ext in @exts-%>
        <tr>
          <%fields_for ext do |f|%>
            <td>
              <%=ext.list_id-%>
              <%=f.hidden_field(:name, "index"=>ext.list_id)-%>
              <%=f.hidden_field(:description, "index"=>ext.list_id)-%>
              <%=f.hidden_field(:short_description, "index"=>ext.list_id)-%>
            </td>
            <td><%=f.text_field(:title,"index"     =>ext.list_id)-%> </td>
            <td><%=f.text_field(:language,"index"  =>ext.list_id)-%> </td>
            <td><%=f.text_field(:list_cate,"index" =>ext.list_id)-%> </td>
          <%end-%>
        </tr>
      <% end -%>
  </table>
  <%= submit_tag "Validate" %>
<%end%>
Dans le contrôleur j'ai un truc de ce genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
def save_ext_all
  params[:ext].each do |id,ext|
      new_ext = Ext.new(ext)
      new_ext.save
  end
  render(:partial => 'update_ext')
end
Le problème c'est que la liste est souvent trop grande et ne passe pas dans le post.
Je voudrais bien que le submit fasse plusieurs appels (un par ligne) à une fonction du genre save_ext_one.
Et par exemple, changer la couleur de la ligne qui est sauvegardée.

Un grand merci d'avance.
Vivian