凤凰视图 - 向视图渲染/ 2添加选项arg,覆盖渲染/ 3的问题

时间:2017-02-01 18:44:18

标签: elixir phoenix-framework

为什么在尝试向视图渲染/ 2方法添加参数时会出现此错误。

just by using the numbers a[1], a[2], ... , a[i-1]

错误:

sum m - a[i] by using the same numbers

我假设如果我与导入函数冲突,这是一件坏事。有没有更好的方式来传递选项,还是我可以用另一种方式解决这个问题?

1 个答案:

答案 0 :(得分:1)

在Elixir中,您可以使用相同名称的功能,但在不同模块中具有不同的功能。这就是为什么在我们的视图中,我们可以定义名为render的函数,其中arity为2. render/2是用于显示此内容的Erlang和Elixir约定。

据说,Phoenix.View定义了一个render/3函数。在所有视图中导入哪个。所以Elixir编译器看到你定义的函数具有与导入模块并抱怨的函数相同的名称和arity。

这里唯一真正的解决方案是不要调用你的函数render。建议的名称可以是render_with_options