priceというカラムが既に存在するので、select句に書いた列別名price_changeに対しておそらくActiveRecordのattribute_changeが先に利いているものと思われます。q.first.attributesするとちゃんとprice_changeが存在するので、おそらくそっちのせいでしょう。列別名を別にしてあげればうまく差額を返してくれます。私はfluctuationに変えましたよ。今回はSELECT文の列別名のネーミングがActiveRecordの作法に合わなかっただけですが、既存のテーブルが似たような有様の場合は要注意ですね。列別名を用意してあげるとか、その列だけattributes[attr]って調子でアクセスするとか。(2)はてなブログをはじめよう!yoshi-13さんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?はてなブログをはじめる(無料)はてなブログとはなんでや。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。