渲染功能在视图内部无法正常工作

时间:2018-09-16 10:17:58

标签: elixir phoenix

这是我的控制器代码:

     def index(conn, _params) do
       customers =  Repo.all(Customer)
       render conn, "index.json", customers: customers  
     end

这是“客户视图”中的代码

 def render("index.json", %{customers: customers}) do
  %{
   data: render_many(customers, CustomerAdminView, "customer.json"),
  }
end 

  def render("customer.json", %{customer: customer}) do   
   %{
     id: customer.id,
     user: customer.user,
     billing_contact: customer.billing_contact

    }
  end

这将引发内部服务器错误。 在phoenix视图文档中,我的代码与它们提供的示例相同。如果我将index.json代码更改为此:

def render("index.json", %{customers: customers} = assigns) do
 %{
  data: render_many(customers, CustomerAdminView, 
  "customer.json", assigns),
  }
end   

为什么它将与render / 4一起使用而不与render / 3一起使用?

0 个答案:

没有答案