実装のみ簡単に.
coffeeはこんな感じ.
isChanged = false
$('#hoge').change ->
isChanged = true
orgSubmit = $('input[type=submit]').onClick
$('input[type=submit]').click ->
isChanged = false
orgSubmit()
$(window).bind 'beforeunload', ->
return unless isChanged
'表示したいメッセージ'
specは
scenario 'hogeを変更後にsubmit以外のページ遷移しようとしたときに確認ダイアログを表示' do
find('#hoge').set 'My String'
visit root_path
expect(page.driver.confirm_messages[0]).to eq '表示したいメッセージ'
end
な感じ.