我正在开展一个角项目,并且我使用angular-rails-templates
gem来管理模板。我在rails中有一个自定义方法,以便创建&partial;' partials'在我的模板之间。
module HamlHelper
def include_partial(partial, locals = {})
Haml::Engine.new(File.read("#{Rails.root.to_s}/app/assets/javascripts/#{partial}")).render(Object.new, locals)
end
end
所以我可以在我的haml模板中使用例如:
/assets/javascripts/templates/page1.html.haml
- header = { title: 'Page 1'}
.page
= include_partial 'shared/header.html.haml', locals: header
...
和
/assets/javascripts/shared/header.html.haml
%header.header
.header__container
%h1.header__title= locals[:title]
...
我遇到的问题是,如果我想修改header.html.haml partial,只有当我修改包含partial的page1.html.haml文件时才会更新更改。因此,由于未修改page1,Rails认为它没有被修改,然后page1不再被处理。这有解决方案吗?
注意:我在这里使用了一个非常基本的例子,但实际上是一个更复杂的例子。所以使用ng-include
角度不是我需要的。