2010-04-20 4 views
1

Итак, я пытаюсь настроить строительные леса для использования переключателей для кнопки формата. Он определенно работает над добавлением нового и редактирования. Проблема в том, что когда я иду редактировать запись, по умолчанию не выбран правильный переключатель.Настройка переключателя по умолчанию для редактирования

<% 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> 

Контроллер

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

Модель

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

Вы можете вставить здесь весь раздел form_for и что точно сохранено в вашей таблице DB? (и использовать форматирование кода при вставке (эта кнопка 101010) – retro

+0

Добавлен весь код, который у меня есть для MVC. Все поля представлены. – DTown

ответ

1

При создании новой записи любой модели вы рендеринга форму для, и не дают ему значение для format, какова будет его ценность? Если это нуль, тогда это ваша проблема, поскольку ни один из этих флажков не является «пустым». Вам необходимо настроить свою базу данных, чтобы присвоить значение по умолчанию format, которое соответствует одному из ваших значений переключателей.

+0

Существует проверка, которая заставляет ее быть одной из выбранных переключателей. никогда не будет пустым. – DTown

Смежные вопросы