我这里面的“网页/模板/模块/ headerHC.html.eex”:无法正确地传递参数在模板
<%= for element <- MyProject.PageView.Recursion.buildElements(@header_linkNumber),1) do %>
<%= element %>
<% end %>
然后,我在“网络/设计/ HC使用该组件.html.eex“:
<%= render FabricaASA.ModuleView, "headerHC.html", conn: @conn,
header_class: nil,
header_linkNumber: "3"
%>
最后我里面定义的 ”网页/视图/ page_view.ex“:
defmodule Recursion do
def buildElements(n) when n <= 1 do
[n]
end
def buildElements(n) do
[n | buildElements(n - 1)]
end
end
的问题是,我得到这个错误:
bad argument in arithmetic expression
指着这一行:
def buildElements(n) when n <= 1 do
这发生在我插入@header_linkNumber
,而不是一个数字,如<%= for element <- MyProject.PageView.Recursion.buildElements(2),1) do %>
我已经尝试过使用@MyProject.ModuleView.header_linkNumber
代替,但后来我得到这个错误:
cannot set attribute @__aliases__ inside function/macro
你使用header_linkNumber作为参数buildElements?如果是这样,你应该通过'3'而不是''3“' – Gazler
对!我错过了那里的字符串......感谢Gazler(请给出答案)。 –