You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Jammit, we run into a slightly sticky issue as an app grows from one template subdirectory to multiple template subdirectories.
Let's say you place templates in app/templates. You work for a while on the "Tasks" feature, placing templates under app/templates/tasks. So, window.JST looks something like:
JST['form']
JST['show']
JST['index']
Now, you add another directory under app/templates, say app/templates/user. Now, all JST references are prefixed with their parent directory name so they are unambiguous:
This breaks existing JST references. We've worked around this in new apps by monkeypatching the jammit base template path to a fixed parent directory from the get-go:
Jammit::Compressor.class_eval do
private
def find_base_path(path)
File.expand_path(Rails.root.join('app','templates'))
end
end
What do you think of either allowing a configurable option? Say, an assets.yml entry template_base_path which, if present, is always used as the template base path. In the absence of this option, the current logic would be preserved.
The text was updated successfully, but these errors were encountered:
When using Jammit, we run into a slightly sticky issue as an app grows from one template subdirectory to multiple template subdirectories.
Let's say you place templates in
app/templates
. You work for a while on the "Tasks" feature, placing templates underapp/templates/tasks
. So, window.JST looks something like:Now, you add another directory under
app/templates
, sayapp/templates/user
. Now, all JST references are prefixed with their parent directory name so they are unambiguous:This breaks existing JST references. We've worked around this in new apps by monkeypatching the jammit base template path to a fixed parent directory from the get-go:
What do you think of either allowing a configurable option? Say, an
assets.yml
entrytemplate_base_path
which, if present, is always used as the template base path. In the absence of this option, the current logic would be preserved.The text was updated successfully, but these errors were encountered: