Rails money - 创建没有货币默认值的数据库列

时间:2015-05-05 16:45:03

标签: ruby-on-rails money-rails

我可以使用t.money迁移帮助程序创建没有默认货币的列吗?

  create_table :product do |t|
    t.money :price
  end

创建:

t.string   "price_currency",  default: "ZWL", null: false

但希望:

t.string   "price_currency",  null: false

2 个答案:

答案 0 :(得分:0)

您可以在nil初始化程序中设置其他默认货币(我认为也允许money-rails),如here所述。

# config/initializers/money.rb
MoneyRails.configure do |config|

  # set the default currency
  config.default_currency = nil

end

如果不起作用,请尝试在nil选项中为default键指定config.currency_column

config.currency_column = { prefix: '',
                            postfix: '_currency',
                            column_name: nil,
                            type: :string,
                            present: true,
                            null: false,
                            default: nil
                         }

答案 1 :(得分:0)

尝试定义默认

t.money :price, default: nil