2013-06-18 2 views
1

Я использую capybara 2.1.0 и имею форму с multiple: true (позволяя загружать несколько файлов). Сайт отлично работает в браузерах, но у capybara есть проблема в том, что поле отправляется с содержимым "" вместо nil, когда я оставляю это поле пустым. Затем я получаю сообщение от Paperclip о "", являющемся недопустимым именем файла (имеет смысл, нет файла с именем "").Форма Capybara с несколькими: true получает отправленное неправильное значение

Вот форма:

= simple_form_for([@site, @zone], mulitpart: true) do |f| 
    = f.error_notification 

    .form-inputs 
    = f.input :site_id 
    = f.input :default_state 

    = file_field_tag "zone_shapefiles_asset", multiple: true, name: "zone[shapefiles_attributes][][asset]" 
    = label_tag "X" 
    = text_field_tag 'x_coords[]', nil, id: "x_coords_1" 

    = label_tag "Y" 
    = text_field_tag 'y_coords[]', nil, id: "y_coords_1" 

    = label_tag "X" 
    = text_field_tag 'x_coords[]', nil, id: "x_coords_2" 

    = label_tag "Y" 
    = text_field_tag 'y_coords[]', nil, id: "y_coords_2" 

    = label_tag "X" 
    = text_field_tag 'x_coords[]', nil, id: "x_coords_3" 

    = label_tag "Y" 
    = text_field_tag 'y_coords[]', nil, id: "y_coords_3" 

    = label_tag "X" 
    = text_field_tag 'x_coords[]', nil, id: "x_coords_4" 

    = label_tag "Y" 
    = text_field_tag 'y_coords[]', nil, id: "y_coords_4" 

    = link_to "Add Point", "#", id: "add_point", data: { fields: label_tags.gsub("\"", "'") } 

    .form-actions 
    = f.button :submit 

И ошибка:

Paperclip::AdapterRegistry::NoHandlerError: No handler found for "" 
./spec/features/zones_spec.rb:50:in `block (6 levels) in <top (required)>' 

Из этой спецификации:

it "can create region for zone" do 
    fill_in "x_coords_1", with: 0 
    fill_in "y_coords_1", with: 0 
    fill_in "x_coords_2", with: 10 
    fill_in "y_coords_2", with: 0 
    fill_in "x_coords_3", with: 10 
    fill_in "y_coords_3", with: 10 
    fill_in "x_coords_4", with: 0 
    fill_in "y_coords_4", with: 10 
    click_button "Create Zone" 
    page.should have_content "Zone was successfully created 
end 

рельсами 3.2.13

Капибара 2.1.0

default rack_test driver

+0

Какая версия Capybara вы используете, и какой драйвер? – georgebrock

+0

Обновлен вопрос. Capybara 2.1.0, драйвер по умолчанию rack_test –

ответ

0

Typo в моей форме.

У меня есть mulitpart: true вместо multipart: true. Обратите внимание на орфографическую ошибку multipart.

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