実現したいこと
Ruby on Railsにて、
以下のようなテーブルがあり、
各フィールドpriceがデフォルト値であるかどうかを
プログラミング上で取得したいです。
また、プログラミング上でデフォルト値を取得したいです。
Ruby
1class CreateSushis < ActiveRecord::Migration[6.0] 2 def change 3 create_table :sushis do |t| 4 t.string :name 5 t.integer :price, default: 110 6 end 7 end 8end
id | name | price |
---|---|---|
1 | まぐろ | 110 |
2 | はまち | 110 |
3 | 中とろ | 220 |
理想しているイメージ↓
Ruby
1sushi = Sushi.find(1) 2sushi.price.default? 3# > Ture
行ったこと
Ruby
1 t.integer :price, default: 110
上記のdefault設定だと、プログラミング内で取得できなさそうなので、
default: 110
の記述を削除し、
こちらの記事を参考に、default値をActiveRecord上で記述しました。
ただ、この先どうすればよいのかが分かりません。。。
https://qiita.com/jkr_2255/items/8eebc72706460a262db7
ruby
1class Sushi < ApplicationRecord 2 after_initialize :set_default, if: :new_record? 3 4 default_price = 110 5 6 private 7 def set_default 8 self.rotate = default_price 9 end 10end
結び
ご教授、アドバイスいただければ幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/29 01:28
2020/02/03 03:00