Given a functional test such as:
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
In Rails 2.3.2 there are no errors, however in 2.3.15 the error is:
NoMethodError: undefined method `discard' for {}:Hash /test/functional/broken_upgrades.rb:119:in `test_exciting_rails_upgrades'
Why is flash
a Hash
class instead of a FlashHash
?
From the source it looks like both 2.3.2 and 2.3.15 ActionPack files lib/action_controller/flash.rb
create the FlashHash
class and inherit from Hash
. However what is shown in this functional test in both 2.3.2 and 2.3.15 is a Hash
class, not a HashFlash
, so one cannot call discard on it.
Can anyone else reproduce this error with 2.3.15 and flash.discard
?