Rails3 et les select

Bonjour à tous,
je teste rails3 avec datamapper avec un projet simple.

J’ai deux classes :
class Societe
include DataMapper::Resource

property :id, Serial
property :nom, String
property :adresse, Text

has n, :clients
end

class Client
include DataMapper::Resource

property :id, Serial
property :prenom, String
property :nom, String
property :telephone, String
property :courriel, String
property :adresse, Text
property :view_only, Boolean

belongs_to :societe
end

que j’ai créé en utilisant rails generate scaffold.

j’ai donc dans le répertoire “vue” 5 templates erb, dont un qui est
utilisé pour “new” et “edit” (_form).
j’ai ajouté dans _form du client un select pour choisir la société
auquel il appartient :

<%= form_for(@client) do |f| %>
<%= f.error_messages %>

<%= f.label :societe %>
<%= f.select(:societe_id, @societes.map{|s| [s.nom, s.id]}) %>
<%= f.submit %>
<% end %>

A la création, tout se passe bien (le client est créé, on le voit dans
l’index…).
Par contre à l’édition, j’ai ce problème :

Showing /home/…/app/views/clients/_form.html.erb where line #30
raised:

undefined method `societe_id’ for #Client:0xa51833c

Extracted source (around line #30):

27:
28:


29: <%= f.label :societe %>

30: <%= f.select(:societe_id, @societes.map{|s| [s.nom, s.id]}) %>
31:

32:

33: <%= f.submit %>

Une idée pourquoi ça marche avec un client “vide” et pas avec un
client déjà existant ?

merci d’avance !

Sylvain


Vous avez reçu ce message, car vous êtes abonné au groupe “Railsfrance” de
Google G…
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]

To unsubscribe from this group, send email to
railsfrance+unsubscribegooglegroups.com or reply to this email with the
words “REMOVE ME” as the subject.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs