为什么Active Record以BigDecimal表示法的格式存储整数值?

时间:2015-12-09 10:14:05

标签: ruby-on-rails ruby-on-rails-3

我是新手。观察以下屏幕截图,我有一个模型Books,其中包含以下列。

class CreateBooks < ActiveRecord::Migration
  def change
   create_table :books do |t|
     t.string :title
     t.text :author
     t.integer :price
     t.integer :book_id
    end
 end
end

稍后我将一列添加到现有表中,如下所示

class AddBookIdToBooks < ActiveRecord::Migration
  def change
    add_column :books, :book_id, :integer
  end
end

我使用Book将记录添加到表form helpers中。但它以[{1}}表示法的格式存储book_id值,而不是BigDecimal

为什么这样存储?提前谢谢。

观察以下屏幕截图

integer

1 个答案:

答案 0 :(得分:1)

您无需为模型添加ID。 Rails为你做到了。当您添加名为“model”_id的列时,Rails会推断它将是对其他表(关联)的引用。