Reset @full_path to nil when cache expires
This commit is contained in:
parent
7fe97d940e
commit
ea9dd29a76
2 changed files with 5 additions and 3 deletions
|
@ -108,6 +108,7 @@ module Routable
|
|||
|
||||
def expires_full_path_cache
|
||||
RequestStore.delete(full_path_key) if RequestStore.active?
|
||||
@full_path = nil
|
||||
end
|
||||
|
||||
def build_full_path
|
||||
|
|
|
@ -135,11 +135,12 @@ describe Group, 'Routable' do
|
|||
describe '#expires_full_path_cache' do
|
||||
context 'with RequestStore active', :request_store do
|
||||
it 'expires the full_path cache' do
|
||||
expect(group).to receive(:uncached_full_path).twice.and_call_original
|
||||
expect(group.full_path).to eq('foo')
|
||||
|
||||
3.times { group.full_path }
|
||||
group.route.update(path: 'bar', name: 'bar')
|
||||
group.expires_full_path_cache
|
||||
3.times { group.full_path }
|
||||
|
||||
expect(group.full_path).to eq('bar')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue