【问题标题】:Rails money - create database column without currency defaultRails money - 创建没有货币默认值的数据库列
【发布时间】:2015-05-05 16:45:02
【问题描述】:

我可以使用 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

【问题讨论】:

  • 如果你真的想控制它,为什么不像你在这里做的那样手动迁移?

标签: ruby-on-rails money-rails


【解决方案1】:

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

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

  # set the default currency
  config.default_currency = nil

end

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

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

【讨论】:

    【解决方案2】:

    尝试定义默认值

    t.money :price, default: nil
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-23
      • 2015-07-20
      • 2015-08-15
      • 1970-01-01
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多