Skip to content

Add #cache_key method to models#46

Open
ryantownsend wants to merge 1 commit intomasterfrom
feature/cache_keys
Open

Add #cache_key method to models#46
ryantownsend wants to merge 1 commit intomasterfrom
feature/cache_keys

Conversation

@ryantownsend
Copy link
Copy Markdown
Contributor

@ryantownsend ryantownsend commented Apr 27, 2016

This method helps Rails with clean caching, e.g.

Controller:

def show
  @menu = ::FlexCommerce::Menu.find("main-menu")
  fresh_when(@menu)
end

View:

<% cache(@menu) do %>
  ...
<% end %>

It's defined on FlexCommerce::ApiBase which all the models inherit from, but only works if a given object has both an id and updated_at attribute, if either are missing a NotImplementedError will be raised and that model will have to manually define it's cache_key method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant