小编jus*_*ese的帖子

通过子对象的最大字段值查找ActiveRecord对象?

如何找到与ActiveRecord计算结果相关联的对象而不是值?

例如,我有@parent有很多孩子.我想找到具有最大'价值'的孩子.

我知道我可以做@ parent.children.maximum(:value),但这会返回最大值.是否有类似于maximum和minimum的方法返回整个对象而不是值,以便我可以使用最大对象中的不同字段?

activerecord ruby-on-rails

28
推荐指数
4
解决办法
3万
查看次数

修复协议Ecto.Queryable未实现错误

我是新手使用Ecto和Elixir而且我遇到了一个我无法解释的错误.我的代码看起来就像Ecto README中的示例.

以下是Ecto模型和查询的模块

defmodule Registration do
  use Ecto.Model

  schema "registrations" do
    field :user_id, :string
    field :created_at, :datetime, default: Ecto.DateTime.local
    field :updated_at, :datetime, default: Ecto.DateTime.local
  end
end

defmodule RegistrationQuery do
  import Ecto.Query

  def by_user(user_id) do
    query = from r in Registration,
          where: r.user_id == ^user_id,
         select: r
    Repo.all(query)
  end
end
Run Code Online (Sandbox Code Playgroud)

以下是我调用查询函数的方法

registrations = Repo.all RegistrationQuery.by_user("underwater")
Run Code Online (Sandbox Code Playgroud)

这一切似乎与Ecto文档完全一致,我找不到任何其他说法.但是我收到以下错误.

protocol Ecto.Queryable not implemented for [%Ensalutilo.Registration{user_id: "underwater"}]
Run Code Online (Sandbox Code Playgroud)

elixir ecto phoenix-framework

4
推荐指数
1
解决办法
3537
查看次数

在Parent的节目中创建新的Child

在现有Parent的show视图中,我想有一个表单来创建Children.

我已经想出了如何创建一个Child表单并将其包含在Parent的节目中,而不是如何排除parent_id字段.如何在不使用表单字段的情况下将parent_id分配给子项?

ruby activerecord ruby-on-rails

3
推荐指数
1
解决办法
2347
查看次数