耙子流产了!耙不加载环境模型

时间:2012-10-04 17:19:13

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

已经查看了这个stack question,此时我查看了答案中的所有链接。

创建自定义rake任务,代码如下所示:

task :seeding do
    op_a = CoverageDetail.create(option: 'a', privacy_and_website_media: 250000.00, privacy_breach_service: 20000,
                    legal_forensic_cost: 25000.00, call_center_service: 'inc', deductible: 5000.00,
                    credit_monitoring_individuals: 20000, fraud_resolution_service: 5000, regulatory_defense: 100000.00,
                    pci_fines_and_costs: 50000.00, crisis_management_and_pr: 50000.00, foreign_notification: 10000.00)

    op_b = CoverageDetail.create(option: 'b', privacy_and_website_media: 500000.00, privacy_breach_service: 25000,
                            legal_forensic_cost: 50000.00, call_center_service: 'inc', deductible: 5000.00,
                            credit_monitoring_individuals: 25000, fraud_resolution_service: 5000, regulatory_defense: 250000.00,
                            pci_fines_and_costs: 50000.00, crisis_management_and_pr: 50000.00, foreign_notification: 10000.00)

    op_c = CoverageDetail.create(option: 'c', privacy_and_website_media: 1000000.00, privacy_breach_service: 50000,
                            legal_forensic_cost: 100000.00, call_center_service: 'inc', deductible: 5000.00,
                            credit_monitoring_individuals: 50000, fraud_resolution_service: 5000, regulatory_defense: 500000.00,
                            pci_fines_and_costs: 50000.00, crisis_management_and_pr: 50000.00, foreign_notification: 10000.00)

    op_a.save!
    op_b.save!
    op_c.save!
end

我有一个名为coverage_details的表我有一个名为coverage_detail.rb的模型我有一个名为coverage_details_controller.rb的控制器。 CoverageDetail中的类名称。

问题:为什么我会收到uninitialized constant CoverageDetail

这是我第一次尝试创建自定义rake任务以在现有应用中播种新表,或者我只是将此信息添加到我的db:seed文件中。

我错过了什么?

1 个答案:

答案 0 :(得分:5)

使用环境赋予它rails环境

task :seeding => :environment do
    op_a = CoverageDetail.create(option: 'a', privacy_and_website_media: 250000.00, privacy_breach_service: 20000,
                    legal_forensic_cost: 25000.00, call_center_service: 'inc', deductible: 5000.00,
                    credit_monitoring_individuals: 20000, fraud_resolution_service: 5000, regulatory_defense: 100000.00,
                    pci_fines_and_costs: 50000.00, crisis_management_and_pr: 50000.00, foreign_notification: 10000.00)

    op_b = CoverageDetail.create(option: 'b', privacy_and_website_media: 500000.00, privacy_breach_service: 25000,
                            legal_forensic_cost: 50000.00, call_center_service: 'inc', deductible: 5000.00,
                            credit_monitoring_individuals: 25000, fraud_resolution_service: 5000, regulatory_defense: 250000.00,
                            pci_fines_and_costs: 50000.00, crisis_management_and_pr: 50000.00, foreign_notification: 10000.00)

    op_c = CoverageDetail.create(option: 'c', privacy_and_website_media: 1000000.00, privacy_breach_service: 50000,
                            legal_forensic_cost: 100000.00, call_center_service: 'inc', deductible: 5000.00,
                            credit_monitoring_individuals: 50000, fraud_resolution_service: 5000, regulatory_defense: 500000.00,
                            pci_fines_and_costs: 50000.00, crisis_management_and_pr: 50000.00, foreign_notification: 10000.00)

    op_a.save!
    op_b.save!
    op_c.save!
end

环境为它提供了rails运行环境,你的模型CoverageDetail就会出现在场景中。

感谢

相关问题