rails/cache_digests — pull request #55 by dasch (2013-07-15 13:17:58+00:00)
Title: Take the lookup details into consideration

This makes the cache key generation respect changes in the details key, allowing for different templates with the same virtual path to coexist.

I hit a bug where two templates being treated as one, causing rendering bugs in production. I discovered that it was due Cache Digests – the digest remained the same even if the details were different.

I'm using details like this:

```ruby
module MobileViewResolution
ActionView::LookupContext.register_detail(:devices) { [] }

extend ActiveSupport::Concern

included do
path = Rails.root.join("app", "views")
pattern = ":prefix/:action{.:devices,}{.:formats,}{.:handlers,}"
resolver = ActionView::FileSystemResolver.new(path, pattern)
prepend_view_path(resolver)
end

private

def details_for_lookup
if mobile_request?
devices = ["mobile"]
else
devices = []
end

super.merge(devices: devices)
end
end
```

I've tried running my app with this branch and it solved the issue.