2013-03-04 2 views
1

Я использую Mongoid с полем модели и с учетом проверки:Rails 3.2 Проверка значения по умолчанию включения строки не обнаружено

field :status, type:String, :default=>'Active' 
validates :status, :inclusion=>{:in=>%w(Active, Done, Canceled, Merged)}, :allow_nil=>true, :allow_blank=>true 

в форме, у меня нет поля состояния, поэтому он должен быть не POST -ed поэтому это ноль на создание:

= simple_form_for([@user, @task], :html => {:class=>'form-horizontal',:'data-type'=>'html'}) do |f| 
    - if @task.errors.any? 
    .error_explanation 
     .alert.alert-error 
     The form contains 
     = pluralize(@task.errors.count, 'error') 
     %ul 
     - @task.errors.full_messages.each do |msg| 
      %li=msg 
    .form-inputs 
    = f.error_notification 
    = f.association :project, :collection => current_user.projects.all 
    = f.input :description, :as => :text, :input_html => {:rows => 5} 
    = f.input :priority, :as=>:radio_buttons, :collection=>1..4, :item_wrapper_class=>'inline' 
    = f.input :due_date 

    .control_group.select.optional 
     = f.label :assigned_to, :class=>'select optional control-label', :for => 'assigned_to_id' 
     .controls 
     = f.collection_select :assigned_to_id, User.all, :id, :username, :class => 'select optional' 

    .form-actions 
    = f.button :submit, :class => 'form-button btn-primary', 'data-loading-text' => 'Submitting...' 

однако, я все еще получаю это, несмотря на установленное значение по умолчанию «Активный», которое, очевидно, в массиве, предусмотренном для проверки включения:

Status is not included in the list 

Почему я все еще получаю эту ошибку?

Заранее благодарен!

ответ

3

Это ваш вопрос

%w(Active, Done, Canceled, Merged) 

, который переводит

["Active,", "Done,", "Canceled,", "Merged"] 

решение удалить запятые

%w(Active Done Canceled Merged) 
+0

Я знал, что что-то так просто не хватает! Благодаря! – yretuta

+0

У всех нас есть тот момент, когда все, что нам нужно, это свежий набор глаз :) – jvnill

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