Capybara + Ruby 1.9.2

Mam problem z kodowaniem w Ruby 1.9.2 i Capybarą. Strona działa w przeglądarce, więc problem jest gdzieś w testach.

Formularz wygląda następująco:

[code=haml]= form_for @competition, :html => {:multipart => true} do |f|
%p
= f.label :homepage_banner
= f.file_field :homepage_banner

%p
= f.label :partners
- Partner.all.each do |partner|
= check_box_tag ‘competition[partner_ids][]’, partner.id, @competition.partners.include?(partner)
= partner.name[/code]
Integration test:

click_link 'Edit' attach_file 'Homepage banner', 'spec/fixtures/empty.gif' click_button 'Save' page.should have_content 'Competition has been updated'
Jeżeli wykomentuję linijkę attach_file to wszystko działa. Parametry przekazane do kontrolera wyglądają następująco:

code p params[:competition]
{“partner_ids”=>[“4”]}[/code]
Natomiast z linijką attach_file:

code p params[:competition]
{“homepage_banner”=>#ActionDispatch::Http::UploadedFile:0x00000007facdd0, “partner_ids”=>["[“4”]"]}[/code]
partner_ids wygląda na podwójnie wyescapowany, i wszystko się wywraca. Ktoś ma jakiś pomysł co może się dziać? Dodam że plik testu ma dodany “magiczny komentarz” do kodowania - i dodanie/usunięcie go niewiele zmienia.

Robię bardzo podobne rzeczy w kilku miejscach i nigdy nie natrafiłem na ten problem. Capybara z Selenium czy z jakimś headless driverem?

Headless, standardowy driver. Próbowałam to zdebugować, ale zagubiłam się gdzieś w gąszczu racka. Aplikacja jest upgrade’owana z Rails 2 na 3 i ruby 1.8.7 na 1.9.2 więc możliwe że to jakieś dziwadła konfiguracyjne.