Ruby on rails 由于某些原因,未创建表
我运行了以下命令:Ruby on rails 由于某些原因,未创建表,ruby-on-rails,Ruby On Rails,我运行了以下命令: rails generate scaffold order name:string address:text email:string pay_type:string rails generate migration add_order_id_to_line_item order_id:integer rake db:migrate 由于某些原因,db/schema.db不显示orders表。我甚至尝试将其手动放置在schema.db中并再次迁移,但仍然无法访
rails generate scaffold order name:string address:text email:string pay_type:string
rails generate migration add_order_id_to_line_item order_id:integer
rake db:migrate
由于某些原因,db/schema.db不显示orders表。我甚至尝试将其手动放置在schema.db中并再次迁移,但仍然无法访问/orders:(
有人知道这是什么原因吗
页面访问错误:移徙产出:
您的迁移文件20110623001141\u cart.rb中的\u combine\u items\u没有正确的类包装器,此外,它内部有不应该存在的方法
class CombineItemsInCart < ActiveRecord::Migration
def self.up
# replace multiple items for a single product in a cart with a single item
Cart.all.each do |cart|
# count the number of each product in the cart
sums = cart.line_items.group(:product_id).sum(:quantity)
sums.each do |product_id, quantity|
if quantity >1
# remove individual items
cart.line_items.where(:product_id=>product_id).delete_all
# replace with a single item
cart.line_items.create(:product_id=>product_id, :quantity=>quantity)
end
end
end
end
def self.down
# split items with quantity>1 into multiple items
LineItem.where("quantity>1").each do |line_item|
# add individual items
line_item.quantity.times do
LineItem.create :cart_id=>line_item.cart_id,
:product_id=>line_item.product_id, :quantity=>1
end
# remove original item
line_item.destroy
end``
end
end
类组合ItemsInCart1
#删除单个项目
cart.line\u items.where(:product\u id=>product\u id).全部删除
#替换为单个项目
cart.line\u items.create(:product\u id=>product\u id,:quantity=>quantity)
结束
结束
结束
结束
def自动关闭
#将数量大于1的项目拆分为多个项目
行项目。其中(“数量>1”)。每个do行项目|
#添加单个项目
行_item.quantity.times do
LineItem.create:cart\u id=>line\u item.cart\u id,
:product\u id=>line\u item.product\u id,:quantity=>1
结束
#删除原始项目
行_item.destroy
结束``
结束
结束
您似乎在20110626203934_add_order_to_line_item.rb中也有一个重复项,它正在将一个列添加到20110626181924_add_order_id_to_line_item.rb中。请删除其中一个,然后再次尝试迁移。有错误吗?您确定它不应该是:
将_order_id_添加到_line_items
我也尝试过,但仍然不起作用:(你应该添加你的迁移和任何stacktrace或erroroh文件本身?一秒钟后我会发布github链接哇谢谢!这修复了它,我的db迁移现在可以工作了!:)我删除了combine_items迁移文件并重新创建以修复错误。