normale tu lui demande de le faire
<%=h @projet.especes %> : la tu lui demande d'afficher un tableau (en vrai
un proxy bref) d'espèce et il le fait.
si tu fais :
<% if [email protected]? %>
  <% for espece in @projet.especes %>
    <%= espece.mon_champ_qui_vas_bien%>
  <% end %>
<% end %>


Le 26 novembre 2009 11:29, pestak <[email protected]> a écrit :

>
> Bonjour,
>
> J'ai trois tables :
> projets[id, nom, description]
> especes[id, nom]
> especes_projets[espece_id, projet_id]
>
> Dans les views, j'ai spécifié la relation N-N :
> Code :
>
> class Projet < ActiveRecord::Base
> has_and_belongs_to_many :especes
>
> # validation
> validates_presence_of :nom
> end
>
> Code :
>
> class Espece < ActiveRecord::Base
> has_and_belongs_to_many :projets
>
> # validation
> validates_presence_of :nom
> end
>
> Toutes les insertions, modifications se passent à merveille. C'est
> dans la page show.html.erb que ça se gâte. La page show permet juste
> l'affichage de l'occurence.
> Comment fait-on pour afficher la liste des espèces du projet?
>
> Voici l'extrait du code de la page show :
> Code :
>
> <div id="titre_page">Récapitulatif du projet</div>
> <br />
> <p style="color: green"><%= flash[:notice] %></p>
> <br />
> <table class="admin">
>  <tr>
>    <td width="150px" class="admin">Nom</td>
>    <td width="550px"><%=h @projet.nom %></td>
>  </tr>
>  <tr>
>    <td class="admin">Description</td>
>    <td><%=h @projet.description %></td>
>  </tr>
>  <tr>
>    <td class="admin">Espèces</td>
>    <td><%=h @projet.especes %></td>
>  </tr>
>  <tr>
>    <td class="admin">Actif</td>
>    <td>
>      <% if  @projet.actif %>
>        Oui
>      <% else %>
>        Non
>      <% end %>
>    </td>
>  </tr>
>  <tr>
>    <td colspan="2" align="center"><%= link_to 'Modifier',
> edit_projet_path(@projet) %>&nbsp;&nbsp;&nbsp;<%= link_to 'Retour',
> projets_path %></td>
>  </tr>
> </table>
>
> Et voici le résultat :
> Espèces #Espece:0x4820010
>
> Merci d'avance
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 à