rake db:seed,预填充数据库时出错。未初始化的常量Clients_courses

时间:2015-03-25 11:32:22

标签: ruby-on-rails ruby database

我想用db / seeds.rb预填充数据库,但在执行期间出错。

架构已完全加载和设置。但是当我用rake db:seed预填充数据库时,我收到了这个错误:

uninitialized constant Clients_courses

我的数据库架构中有Table clients_courses。所以我试着像这样预先填充它:

Clients_courses.create(:client_id => 6, :course_id => 2)

这有什么问题?

我已经尝试过其他一些表格,例如用户表格。但是问题也一样。

3 个答案:

答案 0 :(得分:2)

您应该有相应的模型来操纵这样的数据。对于users表,您通常拥有User模型。在您的情况下,您可以使用ClientsCoursesClientsCourse模型,或者假设您有:has_and_belongs_to_many关联,则没有此类模型。

在这种情况下,执行所需操作的唯一方法是使用现有的(ClientCourse):

 Client.find(6).courses << Course.find(2)

答案 1 :(得分:1)

  • 创建一个模型ClientsCourse
    即在app / model / clients_course.rb
  • 在文件内添加以下行并保存

    class ClientsCourse   < ActiveRecord::Base
    
    end
    
  • 更正下面的行

     ClientsCourse.create(:client_id => 6, :course_id => 2)
    

希望有所帮助

答案 2 :(得分:0)

您的模型名称client_course.rb,表格为client_courses