函数Discuss.TopicView.render / 2未定义(模块Discuss.TopicView不可用)

时间:2019-01-22 16:11:11

标签: phoenix-framework

创建一个Phoenix框架应用程序,开发人员可以在其中添加讨论的主题,并且一切运行顺利,直到我在templates/view/index.html.eex内添加以下代码:

<h5>Topics</h5>

<ul class="collection">
  <%= for topic <- @topics  do %>
  <li class="collection-item">
    <%= topic.title %>
  </li>
  <% end %>
</ul>

<div class="fixed-action-btn">
  <%= link to: topic_path(@conn, :new), class: "btn-floating btn-large waves-effect waves-light red" %>
    <i class="material-icons">add</i>
  <% end %>
</div>

问题似乎与上面的语法相同,但是我该如何在红色圆形按钮内应用加号图标?

在我的终端中,我得到:

  

==文件web / views / topic_view.ex中的编译错误==   **(EEx.SyntaxError)web / templates / topic / index.html.eex:14:表达式的意外结尾<%end%>

我正在与Phoenix v1.2.5

合作

1 个答案:

答案 0 :(得分:0)

如果不注意的话,这里是一个大陷阱。

这绝对是语法错误。在Phoenix中创建链接标签时,请确保在关闭Phoenix标签之前在末尾添加do关键字。

所以代替:

<div class="fixed-action-btn">
  <%= link to: topic_path(@conn, :new), class: "btn-floating btn-large waves-effect waves-light red" %>
    <i class="material-icons">add</i>
  <% end %>
</div>

这样写:

<div class="fixed-action-btn">
  <%= link to: topic_path(@conn, :new), class: "btn-floating btn-large waves-effect waves-light red" do %>
    <i class="material-icons">add</i>
  <% end %>
</div>

我只在看到这篇文章后才注意到它不见了: https://elixirforum.com/t/how-to-add-i-tag-in-to-link-function/12040