Forum: Rails France undefined method `xxx' et radio_button

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.
arnaud (Guest)
on 2006-04-11 14:52
Je bataille depuis ce matin sur la vue et la validation!

J'ai une table Applications reliés à 3 autres tables par une table de
jointure (de 4 niveaux donc) grace a "has_manys :through"

J'ai un problème très bizarre avec le formulaire de création d'une
application qui comprend :
* des radio_button pour le type d'application
* des radio_button pour son role
* un select à choix multiple pour les serveurs

La bizarrerie se passe avec les radio_button des roles.
Dans AppsController < AC :: new, j'ai rajouté 3 lignes

<code>
   @roles = Role.find( :all, :order => "name" )
   @servers = Server.find( :all, :order => "name" )
   @types = Type.find( :all, :order => "name" )
</code>

que j'utilise dans la vue du formulaire :

<code>
   <% for role in @roles %>
      <%= radio_button 'app', 'role', role.id %><%= role.name %>
   <% end %>
</code>

et idem pour les types (qui marche très bien).
J'ai une erreur "undefined method `role'" causé par le deuxième
paramètre 'role' (qui définie la méthode appelée si j'ai bien compris).

Ce que je trouve bizarre c'est surtout que les autres marchent!
Du coup, j'utilise la fonction radio_button_tag.

Je ne comprend pas en quoi consiste ce deuxième paramètre...

Une idée quelqu'un?
Franck (Guest)
on 2006-04-15 21:22
(Received via mailing list)
Salut Arnaud,

role est l'objet, id et name les méthodes donc quand la définition de
l'API indique :
radio_button(object_name, method, tag_value, options = {})

tu dois mettre un truc du genre (pas testé) :
<%= radio_button 'role', 'id', 'role.name' %>

bon courage
This topic is locked and can not be replied to.