Railsでページ遷移前に確認ダイアログを表示する
実装のみ簡単に.
coffeeはこんな感じ.
1
2
3
4
5
6
7
8
9
10
11
12
| 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は
1
2
3
4
5
6
| scenario 'hogeを変更後にsubmit以外のページ遷移しようとしたときに確認ダイアログを表示' do
find('#hoge').set 'My String'
visit root_path
expect(page.driver.confirm_messages[0]).to eq '表示したいメッセージ'
end
|
な感じ.