Forum: Rails France liste deroulante

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Kais J. (Guest)
on 2008-11-17 16:55
Bonjour  tmd  je suis newbie ,  j essaye de developper une  application
simple  mon  probleme se situe comment  generer une  liste deroulante
sur un  formulaire  a partir dune table

en  gros  jai  deux table  companies et contacts

qd je  remplie  le formulaire contacts  je  veux  avoir  la possiblité
de choisir  ds kel company  il appartient

biensure  en  arriere  plan  il  va selectionné  l (ID) de la companie
et  l enregistrer  ds Companies_ID  c'est ma clé etrangere  ds  contacts


merci d'avance
:)
Michel B. (Guest)
on 2008-11-17 17:09
(Received via mailing list)
C'est ça que tu cherches ?...
http://api.rubyonrails.org/classes/ActionView/Help...

Le 17 novembre 2008 15:55, Kais J7a <removed_email_address@domain.invalid> a
écrit :

> biensure  en  arriere  plan  il  va selectionné  l (ID) de la companie
> et  l enregistrer  ds Companies_ID  c'est ma clé etrangere  ds  contacts
>
>
> merci d'avance
> :)
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>


--
Michel B.
Kais J. (Guest)
on 2008-11-17 17:20
Merci Michel  pour votre reponse rapide  ca fonctionne  pas  encore   tt
à fait  je dois encore bien  parametrer mes variable  et ca a lair  bon

thx
Kais J. (Guest)
on 2008-11-17 17:40
Hi Michel,
 vous  savez pas  comment faire pour  que ma requete soit
select name from  companies
    <select ( "name", Company.find (:all)> </select>
ca maffiche  rie juste  une liste vide

thx
Michel B. (Guest)
on 2008-11-17 18:12
(Received via mailing list)
Ca marcherait mieux si c'était écrit en ruby...

<%= select( "name", Company.find( :all ) ) %>

Les <% %> signifient à l'interpréteur qui lit la template erb
"attention,
ceci n'est pas du texte littéral mais du code ruby".
Le = de <%= signifie "le résultat de la ligne de commande ruby doit être
inséré dans le résultat de l'interprétation de la templat à cet
endroit".

--
Michel B.
Kais J. (Guest)
on 2008-11-17 20:17
Hi Michel,  ca devrait marcher mais  mnt  j'obtien  une erreur

wrong number of arguments (2 for 3)

Extracted source (around line #7):

4:   <p>
5:     <b>Company Name</b>
6:   <br />
7:     <%= select( "name", Company.find( :all ) ) %>
8:
9:   </p>
10:

Avez vous une idee c'est dû à quoi ?

merci
Cyril M. (Guest)
on 2008-11-17 20:22
(Received via mailing list)
Kais J7a wrote:
> 8:
> 9:   </p>
> 10:
>
> Avez vous une idee c'est dû à quoi ?
>
> merci
>
Oui que tu as donnée que 2 arguments au lieu de 3. Comble de malchance
pour toi l'argument manquant est avant la méthode. argument qui est la
variable défini dans le form_for.

--
Cyril M.
http://blog.shingara.fr
Kais J. (Guest)
on 2008-11-17 20:33
<% form_for(@contact) do |f| %>

 <p>
    <b>Company Name</b>
  <br />
    <%= select( "name", Company.find( :all ) ) %>

  </p>

  <p>
    <b>Name</b><br />

    <%= f.text_field :name %>
  </p>
 ca  c'est mon code
ca pas de sens  de mettre une  autre variable
euuhh  :/
thx
Cyril M. (Guest)
on 2008-11-17 20:38
(Received via mailing list)
Kais J7a wrote:
>     <b>Name</b><br />
>
>     <%= f.text_field :name %>
>   </p>
>  ca  c'est mon code
> ca pas de sens  de mettre une  autre variable
> euuhh  :/
> thx
>
>
*select*(object, method, choices, options = {}, html_options = {})

D'après la signature il te manque object. Soit :

<%= f.select "name", Compagny.all %>

Mais bon, là tout bon tuto te l'aurais dit.

PS : Peux-tu éviter les abréviations ? Merci

--
Cyril M.
http://blog.shingara.fr
Jean-François Trân (Guest)
on 2008-11-17 20:42
(Received via mailing list)
Le 17 novembre 2008 19:33, Kais J7a a écrit :

>  ca  c'est mon code
> ca pas de sens  de mettre une  autre variable
> euuhh  :/
> thx

Kyo on t'a reconnu.

   -- Jean-François.

--
Rails Party à Paris dimanche 30 novembre !

http://twitter.com/underflow_
Cyril M. (Guest)
on 2008-11-17 20:44
(Received via mailing list)
Jean-François Trân wrote:
>
On avait pas dit qu'on arrêtait les private Joke ?

--
Cyril M.
http://blog.shingara.fr
de Villamil Frédéric (Guest)
on 2008-11-17 20:54
(Received via mailing list)
Le 17 nov. 08 à 19:43, Cyril M. a écrit :

>>
>> Kyo on t'a reconnu.
>>
> On avait pas dit qu'on arrêtait les private Joke ?

T'es pas sur #rubyonrails.fr que je sache ;) (private joke recursive)


--
Frédéric de Villamil
removed_email_address@domain.invalid                        tel: +33 (0)6 62 19 
1337
http://t37.net                       Typo : http://typosphere.org
Kais J. (Guest)
on 2008-11-17 20:56
Merci Cyril ,
 ca marche sauf  qu'il m'affiche dans  la  liste deroulante
#<company:23x23232>
c'est comme si il n' arrive pas  a lire le champ le champ

merci  pour votre aide precieuse
Jean-François Trân (Guest)
on 2008-11-17 20:57
(Received via mailing list)
Le 17 novembre 2008 19:43, Cyril M.  a écrit :

>> Kyo on t'a reconnu.
>>
> On avait pas dit qu'on arrêtait les private Joke ?

- On n'est pas à un Apéro Ruby et
- De toute façon, c'est plus fort que moi

Cela dit il y a une étude à faire sur une éventuelle
corrélation entre le pseudonyme et le niveau de la question.

  -- Jean-François.

--
Rails Party à Paris dimanche 30 novembre !

http://twitter.com/underflow_
Cyril M. (Guest)
on 2008-11-17 21:01
(Received via mailing list)
Kais J7a wrote:
> Merci Cyril ,
>  ca marche sauf  qu'il m'affiche dans  la  liste deroulante
> #<company:23x23232>
> c'est comme si il n' arrive pas  a lire le champ le champ
>
> merci  pour votre aide precieuse
>
http://api.rubyonrails.org/classes/ActionView/Help...

Sais-tu lire l'anglais ? Sais-tu lire l'exemple ?

 select("post", "person_id", Person.find(:all).collect {|p| [ p.name,
p.id ] }, { :include_blank => true })

=> f.select "name", Compagny.all.collect {|c| [c.name, c.id]}

Sinon, je peux te faire ton développement. Prix d'ami : 1000€ par jour.

--
Cyril M.
http://blog.shingara.fr
Martin C. (Guest)
on 2008-11-17 21:14
(Received via mailing list)
Cyril M. a écrit :
> http://api.rubyonrails.org/classes/ActionView/Help...
>
> Sais-tu lire l'anglais ? Sais-tu lire l'exemple ?
>
>  select("post", "person_id", Person.find(:all).collect {|p| [ p.name, p.id ] }, { 
:include_blank => true })
>
> => f.select "name", Compagny.all.collect {|c| [c.name, c.id]}
>
> Sinon, je peux te faire ton développement. Prix d'ami : 1000€ par jour
Et voilà tout de suite on tombe dans le capitalisme primaire.
Ce n'est pas parce qu'il ne {veut,sait} pas lire l'exemple
qu'il faut tout de suite alléger son portefeuille :-) .

--
Martin C.
http://www.noremember.org | http://www.synbioz.com
Cyril M. (Guest)
on 2008-11-17 21:15
(Received via mailing list)
Martin C. wrote:
> Et voilà tout de suite on tombe dans le capitalisme primaire.
> Ce n'est pas parce qu'il ne {veut,sait} pas lire l'exemple
> qu'il faut tout de suite alléger son portefeuille :-) .

C'est pas alléger son portefeuille que je propose. C'est alléger sa
charge de travaille de lecture de code et d'étude de Rails.

--
Cyril M.
http://blog.shingara.fr
Michel B. (Guest)
on 2008-11-17 21:15
(Received via mailing list)
Holà mes amis, un peu d'indulgence par un newbie un peu tout perdu dans
un
nouveau paradigme.

Tout le monde à posé une question de débutant une fois, pas besoin
d'être
désobligeant.

Par contre, la leçon à retenir, ami Kais, c'est que la documentation de
l'API est ton amie, et qu'une fois que quelqu'un te pointe la bonne
direction il est généralement de bon ton d'expérimenter un peu de ton
côté
et de creuser l'info plutôt que de bombarder de question complémentaires
tout de suite. Aussi, ça peut être une bonne idée d'apprendre un peu le
Ruby
avant de se lancer dans Rails, ne serait-ce que pour ne pas être
déstabilisé
par le moindre message d'erreur.

A bientôt.

--
Michel B.
de Villamil Frédéric (Guest)
on 2008-11-17 21:32
(Received via mailing list)
Le 17 nov. 08 à 20:00, Cyril M. a écrit :

>
> Sais-tu lire l'anglais ? Sais-tu lire l'exemple ?
>
> select("post", "person_id", Person.find(:all).collect {|p| [ p.name,
> p.id ] }, { :include_blank => true })
>
> => f.select "name", Compagny.all.collect {|c| [c.name, c.id]}
>
> Sinon, je peux te faire ton développement. Prix d'ami : 1000€ par
> jour.


950 euros pour moi, et en prime, je ne cherche pas à devenir ton ami.
Quelle chance tu as non ?
--
Frédéric de Villamil
removed_email_address@domain.invalid                        tel: +33 (0)6 62 19 
1337
http://t37.net                       Typo : http://typosphere.org
Cyril M. (Guest)
on 2008-11-17 21:35
(Received via mailing list)
de Villamil Frédéric wrote:
>>> merci  pour votre aide precieuse
>>
>> Sinon, je peux te faire ton développement. Prix d'ami : 1000€ par
>> jour.
>>
>
>
> 950 euros pour moi, et en prime, je ne cherche pas à devenir ton ami.
>
Ca j'avoue ca vaux tout l'or du monde. Ne pas être ami avec neuro. Il
est méchant :(
Kais J. (Guest)
on 2008-11-17 21:58
slt les gas,

vous etes  un  peut  dure  comme meme   avec  moi  vous  savez  rien  ni
comment  j ai atteri  ds ruby  ni  depuis qd j ai  commencé  ni  si  je
sais  (lire,comprendre) l'anglais,
 en  gros ca fait  une semaine  ke je decouvert ce langauge  (  j'ai
deja  un boulot  ,  j essaye de  lire  le soire  qd je rentre )  donc
quand  je te trouve quelqu 1 qui peut  me passer de l'info ca me fait
gagner  du temp.
ne vous inquitez pas  vous n aller pas  alleger ma charge de lecture  ya
beacoup de chose  a lire  et comprendre  avec  Ruby


thx Michel pour ton message
Jean-François Trân (Guest)
on 2008-11-17 22:43
(Received via mailing list)
Le 17 novembre 2008 20:15, Michel B. a écrit :

> Holà mes amis, un peu d'indulgence par un newbie un peu
> tout perdu dans un nouveau paradigme.
>
> Tout le monde à posé une question de débutant une fois,

Ce n'est pas le problème.

> pas besoin d'être désobligeant.

Le problème, c'est de ne pas tenir en compte les conseils qui
lui sont prodigués et de faire des remarques du genre:

"ca pas de sens  de mettre une  autre variable
euuhh  :/"

Bon ben si il sait faire, il a pas besoin de nous.

D'autre part, ce qui sert à faire premières impressions sur
une mailing-list, la forme, c'est le style, l'expression
écrite, le niveau de français. C'est pas de bol mais c'est
comme ça. Pour ma part, si la forme n'est pas correcte
(je n'ose dire soignée), ça me met dans de mauvaises
dispositions donc je suis plus enclin à rentrer dans le lard.

Dernier point, si le newbie ne fait pas d'effort de recherche
suite au(x) réponse(s) et attend qu'on lui prémâche tout, ça aussi
ça met de mauvais poil.

   -- Jean-François.

--
Rails Party à Paris dimanche 30 novembre !

http://twitter.com/underflow_
Jean-François Trân (Guest)
on 2008-11-17 22:46
(Received via mailing list)
Le 17 novembre 2008 20:58, Kais J7a a écrit :

> vous etes  un  peut  dure  comme meme   avec  moi  vous
>  savez  rien  ni comment  j ai atteri  ds ruby  ni  depuis qd
> j ai  commencé  ni  si  je
> sais  (lire,comprendre) l'anglais,

On ne connaît pas effectivement ton niveau en anglais mais
on commence à avoir une idée de celui en français.

>  en  gros ca fait  une semaine  ke je decouvert ce langauge  (  j'ai
> deja  un boulot  ,  j essaye de  lire  le soire  qd je rentre )

ce n'est pas le problème, le problème c'est qu'on a l'impression
que ça fait depuis 2 semaines que tu découvres la langue
française.

à part ça, tu devrais regarder du côté de collection_select.

  -- Jean-François.

--
Rails Party à Paris dimanche 30 novembre !

http://twitter.com/underflow_
Michel B. (Guest)
on 2008-11-18 01:58
(Received via mailing list)
Les questions de débutant ça met toujours de mauvais poil les vieux
briscards qui ont oublié les difficultés qu'ils ont eu et les crises de
paniques que peut provoquer un langage comme Ruby chez quelqu'un qui
vient
de langages plus typés et qui n'y retrouve pas ses repères.

Donc ne prends pas mal les réponses de Jean-François, comme briscard on
ne
fait pas plus briscard (même s'il n'est pas vieux). Prends les choses
calmement et tranquilement, si tu as peur de poser une question n'hésite
pas
à la poser à google avant pour te faire une idée des réponses déjà
disponibles, et si tu es bloqué, hé bien... Il vaut mieux poser une
question
une fois et se faire répondre ironiquement par JF que de rester dans le
noir
et ne pas faire vivre la mailing list.

Par contre, Ruby est une excellente occasion de monter ton niveau
d'anglais,
et c'est vrai qu'un peu d'effort pour s'exprimer dans un bel et bon
français
ne ferait pas de mal de toute façon.

Donc, pour paraphraser la couv' d'H2G2, DON'T PANIC. Ca ira mieux quand
tu
auras lu un peu de doc, posé deux-trois questions de débutant (en tenant
compte des remarques émises lors de cette question) et obtenu des
réponses
qui t'auront aidé à avancer.

On ne mord pas, même si des fois on aboie.

--
Michel B.
big c. (Guest)
on 2008-11-20 12:41
Salut à tous,

Bon avant que ça parte en vrille je proffite de ce sujet pour poser la
même question que Kais mais avec un Hash

J'ai par exemple dans mon modèle

class MyModel < ActiveRecord::Base

  COLORS = {:a => "Rouge", :b => "Vert", :c => "Jaune" }

end


Dans ma vue j'aimerais bien faire un truc du genre

<%= f.select :color, MyModel::COLORS.each_pair { |k, v| [v, k] } %>

Bon, étant newbie, tout ce dont je me rends compte c'est que ça ne
marche pas comme voulu, moi je voudrais dans ma liste 'Rouge, Vert,
Jaune', et non 'a, b, c', avec un tableau et Array#collect, ça
fonctionne mais je n'y arrive pas avec un Hash et il me semble que
Hash#collect n'existe pas (à moins que je sois dans le gaz)

Merci de votre aide envers un novice, je vous serez reconnaissant :)

A+
Jean-François Trân (Guest)
on 2008-11-20 13:13
(Received via mailing list)
Le 20 novembre 2008 11:41, Big C. a écrit :

>
> <%= f.select :color, MyModel::COLORS.each_pair { |k, v| [v, k] } %>
>
> Bon, étant newbie, tout ce dont je me rends compte c'est que
> ça ne marche pas comme voulu,

Je te conseille de tâtonner en utilisant irb, ou script/console
pour être dans l'environnement Rails.

> moi je voudrais dans ma liste
> 'Rouge, Vert, Jaune', et non 'a, b, c', avec un tableau et
> Array#collect, ça fonctionne mais je n'y arrive pas avec un
> Hash et il me semble que
> Hash#collect n'existe pas (à moins que je sois dans le gaz)

Pour le vérifier, irb ou script/console.

Tu peux regarder du côté de Hash#to_a et éventuellement,
Hash#invert peut te servir.

Dernier point, si ton tableau COLORS est constant durant
la vie de ton application, ça veut dire que les valeurs pour
ta liste déroulante le sont aussi, tu peux donc faire en
sorte de ne calculer ce tableau qu'une seule fois, sans avoir
à le recréer à chaque appel de ta vue.

La prochaine fois, ouvre un nouveau fil de discussion (thread)
quand tu as une nouvelle question.

    -- Jean-François.

--
Rails Party à Paris dimanche 30 novembre !

http://twitter.com/underflow_
big c. (Guest)
on 2008-11-20 13:41
Merci Jean François, j'ai bien noté pour le nouveau fil la prochaine
fois

J'ai résolu mon probleme en faisant :

<%= f.select :color, MyModel::COLORS.values %>

peut être pas ce qu'il y a de mieux, but it works.
La constante COLORS est juste utilisée pour les validations dans mon
modèle

Merci beaucoup
This topic is locked and can not be replied to.