我的简单应用程序有两个问题。
我已经阅读了两次文档,但没有运气使用 boss_csrf_filter 并将变量传递给模板。
首先,我在 boss.config 文件中完成了使用 CSRF 过滤器的配置,如下所示:
{controller_filter_config, [boss_csrf_filter]},
{session_adapter, mock},
{session_key, "_myapp_session"},
{session_exp_time, 525600},
{session_cookie_http_only, false},
{session_cookie_secure, false},
{session_domain, ".myappdomain.com"},
然后,我添加到模板中的变量(位于 src/view/world/hello.html 下)
<div class="row">
<div class="12u">
<textarea name="message" id="message" placeholder="placeholder" required></textarea>
{{ csrf_token }}
</div>
</div>
一切似乎都很好,但没有出现任何隐藏的输入元素。我应该检查/配置其他任何东西吗?
第二个问题是我的应用程序将变量传递给模板。我的控制器类似于以下代码:
-module(myapp_world_controller, [Req]).
-compile(export_all).
hello('GET', []) ->
{ok, [{world}]}.
postcontact('POST', []) ->
{redirect, "/",[{contactformsend, "ok"}]}.
代码正在重定向,没有任何价值。因此,以下代码不起作用(与我上面提到的相同模板文件):
{% if contactformsend %}
<script>
alert("Hi there is!");
</script>
{% endif %}
我做错了什么?我该如何解决这些问题?