移行を作成しようとしていますが、次のようになります。
class AddStatusToWorks < ActiveRecord::Migration
def self.up
change_table :works do |t|
t.string :status
end
end
def self.down
change_table :works do |t|
t.remove :status
end
end
end
つまり、テーブルに既に存在するブール値「完了」に基づいて、「ステータス」に異なるデフォルト値を設定したいということです。完了 = true の場合、ステータス = "完了"。そうでない場合、ステータス = 「作業中」。(ブール値として完全にするのではなく文字列が必要な理由は、ステータスに2つ以上の可能性を持たせたいからです。)それを行う方法はありますか?このようにifステートメントをそこに貼り付けるだけですか
change_table :works do |t|
t.string :status
if (:complete == true)
:value => "complete"
else
:value => "wip"
end
ええと、それはまったく正しくないようです。少しグーグルで調べたところ、:default 値を設定できることがわかりましたが、それは私が目指していることではありません。どんなアイデア/ヘルプも素敵です。ありがとう!