私はrecords_pathページにこのリンクを持っている:カピバラとリモートリンク
link_to "CLICK HERE", edit_record_path(record), remote: true
コントローラ:
def edit
puts request.format # Just to show you part of the issue
end
そして、クリックされたとき、それはedit.js.coffeeを実行し、レンダリングレコードを編集するためのモーダルです。
素晴らしいです。 カピバラの問題はです。それはRecordsControllerに編集方法を実行する(文脈から真、それが動作します:私はテストを実行すると
context 'when on records list page' do
before { visit records_path }
context 'when clicking on "CLICK HERE"', js: true do
before { click_link('CLICK HERE') }
it 'shows the record name' do
expect(page).to have_content record.name
end
end
end
、それは誤り上げる:
Capybara::ElementNotFound: Unable to find link "CLICK HERE"
をしかし、私はJSを削除する場合)、印刷形式は、、jsではなく、となります。 edit.htmlもありません。edit.js.coffeeがあります。これはテストでレンダリングする必要があります。
私は間違っていますか?リンクにremote:true小道具があり、テストにはjs:trueがあります。
'page.html'を出力し、実際にページ上に何が表示されているのかを確認するには、実際にクリックするリンクがレンダリングされていますか? –
@TomWalpoleはい、レコードがレンダリングされ、すべて正常に動作します。 –
'save_and_open_page'やcapybara_screenshot gemで何が起きているのかを確認できます。また、あなたのCapybaraとCapybara-webkitの設定は関連しているかもしれません。 – jfornoff