在第三个关联字段中使用排序方法
using order method in third association field
class Order
has_many :order_details
end
class OrderDetail
belongs_to :order
belongs_to :person
end
class Person
has_one :profile
delegate :first_name, last_name
end
class Profile
end
我目前正在迭代视图中的订单详细信息并尝试按姓氏排序或排序
我怎样才能做到这一点?
我正在使用它
@order_details.joins(:person).order('last_name ASC').each do |detail|
我应该使用排序吗?或订单?
这是我的错误
column "last_name" does not exist
只需将 table 名称添加到订单原因中:
@order_details.joins(:person).order('people.last_name ASC')
@order_details.joins(order: :person).order('last_name ASC')
应该可以解决问题。
原因是您与 order_details 的人没有直接联系(通过订单)。它被称为嵌套连接,您可以参考 API here
传递给连接方法的名称不是 table 名称,它们是关联名称。
class Order
has_many :order_details
end
class OrderDetail
belongs_to :order
belongs_to :person
end
class Person
has_one :profile
delegate :first_name, last_name
end
class Profile
end
我目前正在迭代视图中的订单详细信息并尝试按姓氏排序或排序 我怎样才能做到这一点?
我正在使用它
@order_details.joins(:person).order('last_name ASC').each do |detail|
我应该使用排序吗?或订单?
这是我的错误
column "last_name" does not exist
只需将 table 名称添加到订单原因中:
@order_details.joins(:person).order('people.last_name ASC')
@order_details.joins(order: :person).order('last_name ASC')
应该可以解决问题。
原因是您与 order_details 的人没有直接联系(通过订单)。它被称为嵌套连接,您可以参考 API here
传递给连接方法的名称不是 table 名称,它们是关联名称。