【问题标题】:Return multiple tags from Phoenix view从 Phoenix 视图返回多个标签
【发布时间】:2020-12-04 20:01:45
【问题描述】:

我正在使用 Phoenix,并想在视图中创建一个函数,该函数呈现一些 HTML 标记并且可以从模板中调用。假设我有类似的东西:

  def create_my_tags() do
    Tag.content_tag(:span, "1st span", class: "tag is-danger is-small")
    Tag.content_tag(:span, "2nd span", class: "tag is-danger is-small")
  end

这仅返回第二个跨度并且仅呈现此。如何触发内部两个调用的副作用?我了解该函数仅返回最后一个值,但是否可以同时显示两个跨度?

【问题讨论】:

  • 不会返回列表[tag1, tag2, ...]帮助?

标签: elixir phoenix-framework


【解决方案1】:

正如Aleksei Matiushkin 在评论中建议的那样,返回标签列表可以解决问题。

def create_my_tags() do
  [
    Tag.content_tag(:span, "1st span", class: "tag is-danger is-small"),
    Tag.content_tag(:span, "2nd span", class: "tag is-danger is-small")
  ]  
end

【讨论】:

  • def create_my_tags(titles), do: Enum.map(titles, &Tag.content_tag(:span, &1, class: "tag is-danger is-small")) 并将其称为 create_my_tags(["1st span", "2nd span"]) :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 2011-07-28
  • 2018-12-03
相关资源
最近更新 更多