私は物事に接続しています。接続は上下に移動します。私はステータスの履歴を保持し、接続の現在のステータスを知りたい私は接続モデルを持っています。 Connectionには多くのConnectionStatusがあります。最初に、ConnectionStatusから列を制限する現在のステータスであるConnectionにプロパティを作成します。私は今までこれを行っています:has_many関係を介してActiveRecordモデルのプロパティで注文する
class Connection < ApplicationRecord
has_many :connection_statuses, -> { order(created_at: :desc) }
def current_status
status = connection_statuses.first
status.nil? ? 'unknown' : status.description
end
end
私はcurrent_statusで注文する方法を知りません。説明するのに役立ついくつかの用途があります
Connection.first.current_status == :disconnected
Connection.where(:current_status => :disconnected)
Connection.order('current_status desc') # or equivalent
Connection.offset(10).limit(10).order('current_status desc') #pagination
これは私が把握していない一般的な概念です。ここに助けてくれてありがとう!