これどうやってするの?
all_tickets = Ticket.find(:all)
all_tickets.each do |at|
if at "a condition"
all_tickets.delete(at)
end
end
このコードでは、データベースから at 要素を削除しますが、「条件」が true の場合に all_tickets ActiveRecord-Hash から at 要素を削除したいだけです。
手伝ってくれてありがとう
これどうやってするの?
all_tickets = Ticket.find(:all)
all_tickets.each do |at|
if at "a condition"
all_tickets.delete(at)
end
end
このコードでは、データベースから at 要素を削除しますが、「条件」が true の場合に all_tickets ActiveRecord-Hash から at 要素を削除したいだけです。
手伝ってくれてありがとう
このソリューションは、ヒントに従って SQL を使用しないように変換されています。つまり、チケットを取得してループし、条件が true の場合は、属性から特定のキーを削除します。最後に、これらの属性を使用して新しいチケット インスタンス (レコードではない) を生成します。
条件が外部のものであることは理解していますが、代わりに、条件を取るオブジェクトに attr_accessor を追加することをお勧めします。特定のフィールドの有無に依存して配信方法を決定しないように、ビューでこれを活用します。私はここで多くの仮定を立てていますが、解決策を見ると、この種の操作を必要とする機能について興味をそそられます。幸運を祈ります。
all_tickets = Ticket.find(:all)
processed_tickets = []
all_tickets.each do |ticket|
attributes = ticket.attributes
attributes.delete(:some_key) if some_condition?
processed_tickets << Ticket.new(attributes)
end