[英]How do I get back an ActiveRecord instead of an ActiveRecord relation?
[英]How do I explore the results of an ActiveRecord relation?
這就是我在做什么:
[72] pry(main)> Connection.joins(:inviter_memberships).where(inviter_memberships: { invited: c.inviter_membership.invited })
=> #<Connection::ActiveRecord_Relation:0x3fe19aa2ce28>
但不確定如何探索該記錄,以查看適用於該關系的記錄。
我有一個Connection
模型,該模型具有以下關聯:
# == Schema Information
#
# Table name: connections
#
# id :integer not null, primary key
# membership_id :integer
# invited_membership_id :integer
# truncated for brevity
class Connection < ActiveRecord::Base
belongs_to :inviter_membership, class_name: "Membership", foreign_key: "membership_id"
belongs_to :invited_membership, class_name: "Membership", foreign_key: "invited_membership_id"
end
我有一個Membership
模型,如下所示:
class Membership < ActiveRecord::Base
belongs_to :inviter, class_name: "User", foreign_key: "user_id"
belongs_to :invited, class_name: "User", foreign_key: "invited_id"
has_many :connections, dependent: :destroy
end
#<Connection::ActiveRecord_Relation:0x3fe19aa2ce28>
表示您的查詢有問題,更多信息在這里
關於探索查詢的結果:可以使用兩種方式查看,一種更簡單的方法是在查詢末尾添加.all
,另一種是在提示下執行以下操作
Connection.joins(:inviter_memberships).where(inviter_memberships: { invited: c.inviter_membership.invited }).each do |record|
puts "---------"
puts record
end
使用first
, second
, third
, last
會向您顯示您正在應用的查詢,然后您可以查看一下並調試查詢出了什么問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.