"context" 不能使用 ChicagoBoss 模板标签

"context" can not be used ChicagoBoss Template Tags

升级 ChicagoBoss 到最新版本 (i.e.from 0.8.10 -> 0.8.14) 后。我一直在观察,术语 "context" 不能用在任何 chicagoboss 模板标签中。

它给出语法错误:

例如。

{% if context == data.code %}
          <option selected>{{data.value1}}</option>
{% else %}
          <option selected>{{data.value2}}</option>
{% endif %}

{% url action="some_action" context=data.val %}

这些模板标签抛出同样的错误:

Unhandled Error: error:{case_clause,{ok,[{"src/view/x_return/form_12.html",
                         [{{88,15},
                           erlydtl_parser,
                           ["syntax error before: ",["\"context\""]]}]}]}} Stacktrace: [{boss_web_controller_render,render_view,5,[{file,"src/boss/boss_web_controller_render.erl"},{line,217}]},{boss_web_controller,execute_action_inner,9,[{file,"src/boss/boss_web_controller.erl"},{line,290}]},{boss_web_controller_handle_request,process_dynamic_request,5,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,254}]},{boss_web_controller_handle_request,process_request,5,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,240}]},{boss_web_controller_handle_request,set_timer,8,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,160}]},{boss_web_controller_handle_request,build_dynamic_response,5,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,129}]},{boss_web_controller_handle_request,handle_request,4,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,26}]},{mochicow_upgrade,upgrade,4,[{file,"src/mochicow_upgrade.erl"},{line,72}]}]

当我将 "context" 更改为 "cntxt" 或除 context 以外的任何内容时,它工作得很好。

如您所知,ChicagoBoss 标签与 Django 模板标签类似。由于我遵循 ChicagoBoss 以及 Django 文档,但我看不到任何文档表明 "context" 是关键字或任何保留字词。

注意 - 我确实有很多文件包含模板标签中使用的 "context"。由于更新每个文件以手动更改术语不是一个好主意。

context 在 0.9.4 版本中更改了 bing erlydtl(Django 模板语言的 Erlang 实现)中的一个保留关键字,参见: https://github.com/erlydtl/erlydtl/releases/tag/0.9.4

因此,当您更新 ChicagoBoss 时,作为依赖项,您可能拉取了一个 erlydtl versoin >= 0.9.4

您可以在 ChicagoBoss 的根目录 rebar.config 中配置较低标记版本的 erlydtl 后重新编译 ChicagoBoss。例如,如果您想要版本 0.9.3,请输入:

{erlydtl, ".*", {git, "git://github.com/erlydtl/erlydtl.git", {tag, "0.9.3"}}}