Railsでページ遷移前に確認ダイアログを表示する

実装のみ簡単に.

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

な感じ.