次のような機能テストが与えられた場合:
def test_exciting_rails_upgrades
login(m=users(:manager))
post :import_users_map_fields, :csv_file => fixture_file_upload('/users.csv', 'text/csv')
assert flash.empty?
flash.discard
# other goodies omitted
end
Rails 2.3.2 ではエラーはありませんが、2.3.15 では次のエラーが発生します。
NoMethodError: {}:Hash の未定義のメソッド「破棄」 /test/functional/broken_upgrades.rb:119:`test_exciting_rails_upgrades' 内
ではなくクラスであるのflash
はなぜですか?Hash
FlashHash
ソースからは、2.3.2 と 2.3.15 の両方の ActionPack ファイル がクラスをlib/action_controller/flash.rb
作成し、から継承しているように見えます。ただし、この機能テストで 2.3.2 と 2.3.15 の両方で示されているのは、ではなくクラスであるため、その上で破棄を呼び出すことはできません。FlashHash
Hash
Hash
HashFlash
他の誰かが 2.3.15 と でこのエラーを再現できますflash.discard
か?