使用Rails 3,我在模型中更改了表格的名称,如下所示:
# app/models/product.rb
class Product < ActiveRecord::Base
set_table_name "items"
end
但是当我尝试设置测试时,我收到以下错误:
Started
E
Finished in 0.027396 seconds.
1) Error:
test_the_truth(CustomerTest):
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'project2_test.products' doesn't exist: DELETE FROM `products`
1 tests, 0 assertions, 0 failures, 1 errors
知道我怎么能让它知道产品吗?
答案 0 :(得分:1)
确定在这里找到答案:
必须将Fixture yml文件的名称从Products更改为Items。
答案 1 :(得分:0)
不应直接改变类,而应create a migration。这将允许Rails顺利更改数据库,并允许任何其他在项目上工作的人以相同的方式更改其数据库。
编写使用change
的{{1}}方法。
rename_table