Problème d'update avec des boutons radio

Bonjour,

je n’arrive pas à mettre à jour certains champs qui sont représentés par
des boutons radio dans le formulaire d’édition d’un de mes models.

J’ai un User model qui has_one User::GeneralInfo (dans un sous-dossier
“user”)

Dans routes.rb, j’ai :
map.resources :users do |users|
users.resource :general_info, :controller => ‘user/general_infos’
end

Le GeneralInfosController est aussi dans un sous-dossier “user”, et est
ainsi :

class User::GeneralInfosController < ApplicationController

def edit
@user = @current_user
@user.general_info ||= User::GeneralInfo.new
@general_info = @user.general_info
end

Le formulaire pour modifier les “general_infos” est dans
views/user/general_infos/edit.html.erb :

<% form_for(@general_info) do |f| %>
<%= f.label :first_name %>
<%= f.text_field :first_name %>
<%= f.label :gender %>
<%= radio_button @general_info, :gender, “Male” %> Male
<%= radio_button @general_info, :gender, “Female” %> Female

Le résultat généré en HTML est le suivant :
First name

Gender
Male
Female

Le first_name se met à jour correctement, mais pas le gender. Le code
produit pour gender ne m’inspire pas confiance, je m’attendrais plutôt Ã
des id “user_general_info_gender_male”

J’ai essayé de remplacer form_for(@general_info) par form_for([:user,
@general_info]) , mais dans ce cas j’obtiens une erreur “undefined
method `user_user_general_info_path’”.

Avec vous une idée de ce qui cloche ?

Merci pour vos aides et remarques.

J’ai remplacé
<%= radio_button @general_info, :gender, “Male” %>
par
<%= f.radio_button :gender, “Male” %>

Et le tour est joué. Je ne saisi pas bien la subtilité donc ça
m’intéresse de comprendre, mais en tout cas ça marche.