Elixir 凤凰和星外行星
我在凤凰城建立了一个外星模型协会。一个组织有许多组织成员。在OrganizationMember控制器的编辑方法中,我试图创建一个SELECT元素,该元素将保存所有可供选择的组织。在编辑定义中,我有以下两行:Elixir 凤凰和星外行星,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,我在凤凰城建立了一个外星模型协会。一个组织有许多组织成员。在OrganizationMember控制器的编辑方法中,我试图创建一个SELECT元素,该元素将保存所有可供选择的组织。在编辑定义中,我有以下两行: # organizations = Enum.to_list(from(o in Organization, order_by: o.name, select: [o.name, o.id])) organizations = from(o in Organization, order_b
# organizations = Enum.to_list(from(o in Organization, order_by: o.name, select: [o.name, o.id]))
organizations = from(o in Organization, order_by: o.name, select: {o.name, o.id})
这是我在模板中的行,用于显示选择:
<%= select f, :organization_id, @organizations, prompt: "Choose your organization" %>
正如错误消息所说,%exto.Query{}不是可枚举的。如果要带来查询结果,必须调用存储库并为其提供查询:
Repo.all from(o in Organization, order_by: o.name, select: {o.name, o.id})
PS:注意,我将select返回的值更改为元组,因为这正是select表单所需要的。我来自c背景,我想我被类似LINQ的语法绊倒了。我没有意识到from只返回一个查询,而不是实际的数据集。
Repo.all from(o in Organization, order_by: o.name, select: {o.name, o.id})