我這裏面的「網頁/模板/模塊/ 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(請給出答案)。 –