2010-04-20 5 views
1

J'essaie donc de configurer un échafaudage pour utiliser les boutons radio du bouton de formatage. Cela fonctionne définitivement pour ajouter un nouveau et éditer. Le problème est que lorsque je vais modifier une entrée, le bouton radio correct n'est pas sélectionné par défaut.Réglage du bouton radio par défaut lors de l'édition

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

<p> 
    <%= f.label :title %><br /> 
    <%= f.text_field :title %> 
</p> 
<p> 
    <%= f.label :director %><br /> 
    <%= f.text_field :director %> 
</p> 
<p> 
    <%= f.label :release_date %><br /> 
    <%= f.date_select :release_date, :start_year => 1900, :end_year => 2010 %> 
</p> 
<p> 
    <%= f.label :running_time %><br /> 
    <%= f.text_field :running_time %> 
</p> 
<p>Blockquote 
    <%= f.label :format %><br /> 
    <%= f.radio_button :format, "black & white" %> 
    <%= label :format_bw, "Black & White" %> 
    <%= f.radio_button :format, "color" %> 
    <%= label :format_color, "Color" %> 
</p> 
<p> 
    <%= f.submit 'Create' %> 
</p> 

Contrôleur

def edit 
    @cinema = Cinema.find(params[:id]) 
    end 

Modèle

class Cinema < ActiveRecord::Base 
validates_presence_of :title, :on => :create 
validates_presence_of :title, :on => :update 
# 
validates_presence_of :director, :on => :create 
validates_presence_of :director, :on => :update 
# 
validates_presence_of :release_date, :on => :create 
validates_presence_of :release_date, :on => :update 
# 
validates_presence_of :format, :on => :create 
validates_presence_of :format, :on => :update 
# 
validates_presence_of :running_time, :on => :create 
validates_presence_of :running_time, :on => :update 
validates_numericality_of :running_time, :on => :create, :on => :update, :less_than_or_equal_to => 300, :greater_than => 0 
end 
+0

Pouvez-vous coller ici toute la section form_for et ce qui est exactement enregistré dans votre table DB? (et utiliser le formatage du code lors du collage (bouton 101010) – retro

+0

Ajout de tout le code que j'ai pour MVC Tous les champs sont représentés – DTown

Répondre

1

Lorsque vous créez un nouveau record de quelque modèle que vous rendu un formulaire pour, et ne donnez pas une valeur pour format, quelle sera sa valeur? Si c'est nul, alors c'est votre problème, car aucune de ces cases n'est "vide". Vous devez configurer votre base de données pour donner une valeur par défaut à format qui correspond à l'une de vos valeurs de bouton radio.

+0

Il y a une validation qui force l'un des boutons radio à être sélectionné. ne jamais être vide. – DTown