- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想运行以下代码:
<%= with [%{time: time}| _rest] <- day_data do %>
<p><%= Timex.lformat!(time, "{WDshort}", Gettext.get_locale()) %></p>
<% end %>
但这引发了 (Protocol.UndefinedError) protocol Phoenix.HTML.Safe not implemented for %{} of type Map。
然后我尝试了一些 super 简单的方法:
<%= with :foo <- :bar do %>
<p><%= "eex shouldn't print this" %></p>
<% end %>
这让我在模板中呈现“bar
”。什么?这?实际的?酒吧?
我也试过不带等号,但没有包含模板中的代码。
<% with number <- 1 do %>
<p><%= "eex does not print this #{number}" %></p>
<% end %>
我什至可以在 eex 模板中使用 with 语句吗?或者我必须去:
<%= if match?([%{time: time}| _rest], day_data) do %>
<% [%{time: time}| _rest] = day_data %>
<p><%= Timex.lformat!(time, "{WDshort}", Gettext.get_locale()) %></p>
<% end %>
顺便说一句,我不敢相信以前没有人问过这个问题。我试图寻找答案。抱歉,如果结果是重复的。
在第一个答案后编辑:我也试过(之前的语法错误:'->'):
<%= with [%{time: time}| _rest] <- day_data do %>
<p><%= Timex.lformat!(time, "{WDshort}", Gettext.get_locale()) %></p>
<% else %>
<%= _err -> nil %>
<% end %>
没有子句(“with”中的 :else 需要 -> 子句)
<%= with [%{time: time}| _rest] <- day_data do %>
<p><%= Timex.lformat!(time, "{WDshort}", Gettext.get_locale()) %></p>
<% else %>
<% end %>
以及使用或不使用等号的各种可能方式。还用空字符串交换了 nil
以确保安全。
最佳答案
Kernel.SpecialForms.with/1
如果没有匹配,立即返回 RHO。
也就是说,要么你需要用 else
处理这两种可能的情况或确保返回的内容是可渲染的(如您的 :foo <- :bar
的情况。)
发生了什么,是<%=
尝试呈现不匹配 day_data
并失败了。
介绍else
应该使用以下语法
<%= with foo <- 42 do %>
<p><%= MATCH: #{foo} %></p>
<% else _ -> %>
<p><%= NO MATCH %></p>
<% end %>
关于elixir - 如何在 elixir phoenix 的 eex 模板中使用 "with"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69478640/
我正在尝试学习 Phoenix,但遇到了一个问题。在 Rails 中,我可以说 获取显示在 .erb 文件中的当前 rails 版本。我问了如何在 Phoenix 做到这一点,得到了答案 :appl
我正在使用 EEx.eval_file和 EEx.eval_string因为我在编译期间无法访问模板,并且想要公开一些可以从模板内部调用的函数。 我是什么可以所以它使用绑定(bind)( test:
我正在创建一个应用程序,当我在本地运行它时,一切运行良好。但是,当我在 docker 容器中运行它时,在运行时出现错误: ** (UndefinedFunctionError) function EE
我正在研究模型的原始部分,我已为其添加了图像支持。理想情况下,如果您正在编辑模型,我想显示图像,我会这样做。 问题是公司变量仅在编辑操作中可用,因为新操作上还存在公司,所以我需要检查@company
我无法设置文件的编码,总是出现错误。我已经尝试了所有方法: C:\ruby\sbox>ruby -W3 -Eex=utf-8 gserver.rb text.txt ruby: unknown enc
我正在尝试在 Phoenix EEx 共享模板(我重用的模板)中传递值。到目前为止,一切都很好,但现在我想让其中一些是强制性的,而另一些是可选的。例如: " class="core Item "> u
我在弄清楚如何在 Phoenix 框架的 app.html.eex 模板中创建搜索栏时遇到了令人惊讶的困难。由于无论您在网站上的哪个位置,该区域都不会改变,所以我更喜欢它只是使用带有搜索参数的 HTM
我正在尝试学习包含 Ecto.Model 的 Phoenix 表单系统,但我遇到了无法通过的问题。我创建了一个表单: %> Login:
我创建了一个使用 Plug.Debugger 的简单 Cowboy/Plug 应用程序。 这些是我在 mix.exs 中的运行时依赖项 extra_applications: [:cowboy, :p
我正在尝试将一些 Elixir 数据传递到 Javascript 中,并使用 Jsex 对其进行序列化: var myData = ; 但是输出似乎被转义了,如 [“a”,1]。有没有办法绕过
我有一些 Javascript 可以在选择时更改字体: console.clear(); var fontsArr = ['Josefin Sans', 'Raleway', 'Montse
我编写了以下代码来显示项目: " alt="" width="330px" height="240px"/>
我想运行以下代码: 但这引发了 (Protocol.UndefinedError) protocol Phoenix.HTML.Safe not implemented for %{} of
我想在 中添加逻辑web/templates/user/form.html.eex 在 user#new 中呈现和 user#edit取决于 @current_user .但是如果我执行以下代码,我会
让我们以这个模板位为例: 0 do %> 在各种框架中,您可以在循环模板代码中的集合时首先(或最后)检查当前索引/
在我的代码中,我从不同来源接收作为字符串的数值。其中一个消息来源正在向我发送这种值: -6.535402781EX-05 经过几次测试,我知道 EX 格式不是由 Double.valueOf() 方法
我正在尝试将自定义 html 添加到链接 (Phoenix.HTML.link) Login" to: "/login", class: "some class" %> #But not worki
我使用 Visual Studio Code 编辑器处理几乎所有事情,也在我学习 Elixir 和 Phoenix 的过程中使用。让我发疯的一件事是,我找不到格式化 HTML-EEx 模板文件的方法。
我有一个 Phoenix 应用程序,我需要在 EEx/HTML 中显示用户的个人资料,但每个用户的个人资料都有不同的字段,包括嵌套数据。 如果每个用户的个人资料都具有相同的字段,那么这会很简单,因为我
我正在尝试在 Phoenix 模板 (EEx) 中包含 CSS,以便我可以定义组件(在服务器上呈现),这些组件不仅包含 HTML,还包含它们自己的 CSS。为此,我想在该模板(组件)的 CSS 中包含
我是一名优秀的程序员,十分优秀!