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 à