将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"在模板标签中使用。因为不是一个好主意,更新每个文件,以改变术语手动。
发布于 2015-04-27 10:56:20
context在0.9.4版中更改了erlydtl ( Django模板语言的Erlang实现)中的保留关键字bing,参见: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”}}
https://stackoverflow.com/questions/29468619
复制相似问题