u-6ren">
gpt4 book ai didi

elixir - Elixir/Phoenix EEx 共享模板中的可选值

转载 作者:行者123 更新时间:2023-12-04 22:11:04 24 4
gpt4 key购买 nike

我正在尝试在 Phoenix EEx 共享模板(我重用的模板)中传递值。到目前为止,一切都很好,但现在我想让其中一些是强制性的,而另一些是可选的。例如:

<a href="<=% @url %>" class="core Item <%= className %>">
  • url应该是强制性的 - 这是默认值(OK);
  • className应该是可选的 - 我无法做到,因为如果我在调用模板时不包含它
    ( <%= render MyProject.SharedView, "myTemplate.html", url:"logo2.png" %> )
    有错误。
    我怎样才能做到这一点?
  • 最佳答案

    使用 @class_name (按照惯例,变量应该写在snake_case 中)如果 key 在assigns 中不存在,将会引发.

    您可以使用 assigns[:class_name]如果 key 在 assigns 中不存在,则不会引发未设置。

    之前 Phoenix 0.14.0 @company如果未设置,将返回 nil。它已更改为 raise 以便分配是显式的(显式优于隐式。)

    出于这个原因,您还应该考虑显式传递一个 nil class_name (如 this comment 中所建议的):

    <%= render MyProject.SharedView, "myTemplate.html", url:"logo2.png", class_name: nil %>

    关于elixir - Elixir/Phoenix EEx 共享模板中的可选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33562721/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com