エラーが発生し、整数の代わりに文字列フィールドを持つアイテムモデルが生成されました。ここ は私移行文字列として格納されていても整数の並びとしてソートされたフィールドによる並べ替え
class CreateItems < ActiveRecord::Migration
def change
create_table :items do |t|
t.string :name
t.string :url
t.text :photo
t.string :price
t.timestamps null: false
end
end
end
である。しかし、今、私は価格フィールドとレールによって私のアイテムをソートしたい、それが文字列として保存されているので、それを悪い道をソートします。 は、例えば、それはその価格9が今1111111111. よりも大きいと考えて、私はこのようにそれらを注文:私は
@items=Item.where(:category_id => @active_category_id).order(:price)
何をしますか?
@items = Item.where(category_id: @active_category_id).sort { |a, b| b.price.to_i <=> a.price.to_i }
これはあなたのカテゴリIDを持つすべて取得し、整数の代わりに文字列としての価格を比較しています
このコードは質問に答えるかもしれませんが、このコードが質問に答える*理由*および/または*方法に関する追加のコンテキストを提供すると、長期的な価値が向上します。 –
が手に入れました。 – toddmetheny