Je n'ai pas étudié en détail ton code mais je pense qu'il est plus
logique de faire ca en javascript :
Plutot que de passer par une requete ajax et d'utiliser active record,
il serait, à mon avis, beaucoup plus simple de copier le contenu des
champs que tu veux vers les champs que tu veux avec une fonction
javascript, tu crées ensuite un lien vers cette fonction, c'est très
simple à mettre en place (cf libraire prototype en javascript) et
t'éviteras une requête ajax inutile.
Sinon un conseil, lorsque tu rencontres un problème de ce type,
utilise le debugger (ruby-debug) pour voir d'où vient l'erreur.

adrien

On Dec 23, 9:29 am, pestak <[email protected]> wrote:
> Bonjour,
>
> J'ai une interface de saisie d'activité de saisie qui est découpé en 2
> parties matin et après midi.
> Pour ce faire j'utilise 2 objets :
> @saisie_matin = Saisie.new
> @saisie_aprem = Saisie.new
>
> Dans mon formulaire, j'ai un lien qui doit permettre de copier la
> saisie du matin dans l'après midi.
> J'essaye de faire passer les valeurs de @saisie_matin à l'aide de with
> mais je ne récupère pas les valeurs.
> J'obtiens cette erreur :
> Couldn't find Activite without an ID
> ...
> app/controllers/saisies_controller.rb:1309:in `identique_aprem'
>
> Comment dois-je procéder?
> Merci d'avance
> __________________________________________________________
> Code source controleur :
>
> # ajax affiche div tableau_saisie_droite suivant la saisie du matin
>   def identique_aprem
>     #valorisation de la variable saisie aprem avec les valeurs du
> matin
>     @saisie_aprem = Saisie.new
>     @saisie_aprem.activite_id = params['activite_id']
>     @saisie_aprem.fiche_id = params['fiche_id']
>     @saisie_aprem.demandeur_id = params['demandeur_id']
>     flash[:erreur] = "#"+params['activite_id'].to_s
>
>     @activites = Activite.find(:all, :conditions =>
> "actif=true", :order=>"nom ASC").map {|p| [p.nom, p.id]}
>     @activite_saisie = Activite.find(@saisie_aprem.activite_id)
>     if @activite_saisie.experimentale
>       #valorisation liste déroulante
>       ...
>     end
>     render :partial => "identique_aprem", :layout => false
>   end
>
> ________________________________________________
> Code source de ma page :
>
> <%= form_tag :controller=>'saisies', :action=>"create_individuel" %>
>   <div id="ligne_commande">
>     <table>
>       <tr>
>         <td width="150px">Actions :</td>
>         <td width="350px"><%= link_to_remote 'Saisie identique à la
> veille', :update=>'tableau_saisie', :url=>
> {:action=>'identique_veille', :id=>@personne.id} %></td>
>         <td width="250px"><%= link_to_remote 'Saisie identique l
> \'après midi', :update=>'tableau_saisie_droite',  :url=>
> {:action=>'identique_aprem', :with => " 'activite_id=' + $
> ('saisie_matin_activite_id') + '&fiche_id=' + $
> ('saisie_matin_fiche_id') + '&demandeur_id=' + $
> ('saisie_matin_demandeur_id') " } %></td>
>       </tr>
>     </table>
>   </div>
>   <br />
>   <b>Personne : <%= @personne.prenom %> <%= @personne.nom %></b>
>   <br /><br />
>   <input id="saisie_matin_personne_id" name="saisie_matin
> [personne_id]" type="hidden" value="<%= @personne.id %>" />
>   <input id="saisie_aprem_personne_id" name="saisie_aprem
> [personne_id]" type="hidden" value="<%= @personne.id %>" />
>   <div id="tableau_saisie">
>     <div id="tableau_saisie_gauche">
>       <table>
>         <tr>
>           <td width="115px">Date</td>
>           <td width="280px"><%= calendar_date_select_tag "saisie_matin
> [date_saisie]","", :valid_date_check => "date <= (new Date()).stripTime
> ()" %></td>
>         </tr>
>         <tr>
>           <td><input id="saisie_matin_matin_aprem" name="saisie_matin
> [matin_aprem]" type="hidden" value="1" /></td>
>           <td class="soustitre">Matin</td>
>         </tr>
>         <tr>
>           <td>Activités</td>
>           <td><%= select("saisie_matin","activite_id", @activites,
> {:selected => nil , :prompt => "Choisissez l'activité"}) %>&nbsp;<span
> id="description_activite_matin"></span></td>
>         </tr>
>       </table>
>       <div id="maj_fiche_matin"></div>
>       <table>
>         <tr>
>           <td width="115px">Commentaire</td>
>           <td width="280px"><%= text_area "saisie_matin", :commentaire
> %></td>
>         </tr>
>         <tr>
>           <td>Heure suppl.</td>
>           <td><%= text_field "saisie_matin", :heuresup %></td>
>         </tr>
>         <tr>
>           <td>Identique date</td>
>           <td><%= calendar_date_select_tag "date_matin" %></td>
>         </tr>
>       </table>
>     </div>
>     <div id="tableau_saisie_droite">
>       <table>
>         <tr>
>           <td width="115px">&nbsp;</td>
>           <td width="280px"><input id="saisie_aprem_date_saisie"
> name="saisie_aprem[date_saisie]" type="hidden" value="<%= Date.today
> %>" /></td>
>         </tr>
>         <tr>
>           <td><input id="saisie_aprem_matin_aprem" name="saisie_aprem
> [matin_aprem]" type="hidden" value="2" /></td>
>           <td class="soustitre">Après Midi</td>
>         </tr>
>         <tr>
>           <td>Activités</td>
>           <td><%= select("saisie_aprem","activite_id", @activites,
> {:selected => nil , :prompt => "Choisissez l'activité"}) %>&nbsp;<span
> id="description_activite_aprem"></span></td>
>         </tr>
>       </table>
>       <div id="maj_fiche_aprem"></div>
>       <table>
>         <tr>
>           <td width="115px">Commentaire</td>
>           <td width="280px"><%= text_area "saisie_aprem", :commentaire
> %></td>
>         </tr>
>         <tr>
>           <td>Heure suppl.</td>
>           <td><%= text_field "saisie_aprem", :heuresup %></td>
>         </tr>
>         <tr>
>           <td>Identique date</td>
>           <td><%= calendar_date_select_tag "date_aprem" %></td>
>         </tr>
>       </table>
>     </div>
>   </div>
>   <br /><br />
>   <div style="text-align:center;">
>     <%= submit_tag "Valider", :class => 'bouton' %>&nbsp;&nbsp;&nbsp;<
> %= link_to 'Annuler', saisies_path %>
>   </div>
> </form>
> <%= observe_field 'saisie_matin_activite_id',
>             :url=>{:action=>'affiche_fiche_matin'},
>             :update=>'maj_fiche_matin',
>             :with => "'id_activite=' + escape(value)"
> %>
> <%= observe_field 'saisie_matin_activite_id',
>             :url=>{:action=>'affiche_description_activite_matin'},
>             :update=>'description_activite_matin',
>             :with => "'id_activite=' + escape(value)"
> %>
> <%= observe_field 'saisie_aprem_activite_id',
>             :url=>{:action=>'affiche_fiche_aprem'},
>             :update=>'maj_fiche_aprem',
>             :with => "'id_activite=' + escape(value)"
> %>
> <%= observe_field 'saisie_aprem_activite_id',
>             :url=>{:action=>'affiche_description_activite_aprem'},
>             :update=>'description_activite_aprem',
>             :with => "'id_activite=' + escape(value)"
> %>

-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]

Répondre à