代码之家  ›  专栏  ›  技术社区  ›  Daniel

函数discus.topicview.render/2未定义(module discus.topicview不可用)

  •  0
  • Daniel  · 技术社区  · 6 年前

    创建一个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 回复  |  直到 6 年前
        1
  •  0
  •   Daniel    6 年前

    如果你不小心的话,这可是个大麻烦。

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

    因此,而不是:

    <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