作者:手机用户2502909797 | 来源:互联网 | 2023-02-06 17:01
我正在尝试使用Rails创建一个电子商务网站类型的东西.所以我为它制作了我的模型.我的问题是如何将特定元素作为主键?
create_table "bookmarks", :primary_key => bk_id force: :cascade do |t|
t.string "bk_name"
t.string "size"
t.string "brand"
t.string "product_id"
t.integer "mrp"
t.text "colour"
t.integer "stock"
t.integer "discount"
t.text "bk_description"
t.integer "bk_id", primary:true
t.integer "cart_unit"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
这是schema.rb文件的一部分.我标记书签ID作为主键的方式是否正确?此外,在进行这些更改后,我运行了rails db:migrate命令,主键部分消失了,它变得像这样 -
create_table "bookmarks",force: :cascade do |t|
t.string "bk_name"
t.string "size"
t.string "brand"
t.string "product_id"
t.integer "mrp"
t.text "colour"
t.integer "stock"
t.integer "discount"
t.text "bk_description"
t.integer "bk_id"
t.integer "cart_unit"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
我不明白为什么会发生这种情况,为什么我做的那些改变(我在编辑后保存了文件)就消失了.谁可以给我解释一下这个?另外,我想提一下我正在学习Ruby on Rails所以...请对我温柔.:P
1> 小智..:
在您的迁移文件中:
create_table :bookmarks, :primary_key => :bk_id do |t|
...
t.integer :bk_id
...
end
不要忘记在你的模型中指出它:
class Bookmarks