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.

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