Rails创造!使用错误的类

时间:2013-06-11 16:25:38

标签: ruby-on-rails ruby

我有两个模型PlanStudent::Plan。在我的seeds.rb文件中调用Student::Plan.create!时,我得到一个Plan对象。似乎rails被命名空间或其他东西搞糊涂了。任何不涉及重命名课程的想法?

文件结构

models
  plan.rb
  student
    plan.rb

  • 计划
  • student_plans

更新

在测试w / rails c时,这甚至更加怪异。如果您先致电Student::Plan.create! ,那么您将获得预期的对象。如果您改为呼叫Plan.create!然后Student::Plan.create!,则会返回Plan个对象,而不是您实际期望的对象。

作品

Student::Plan.create # <Student::Plan...>

不起作用

Plan.create # <Plan...>
Student::Plan.create # <Plan...>

1 个答案:

答案 0 :(得分:1)

我可以想象你有一个命名空间模型的场景(我已经使用了几次......通常用于集成不同的数据库)。这个答案没有解决处理命名空间问题的问题,但我认为“柔道”解决方案只是在models目录的根目录下创建一个名为student_plan.rb的模型,然后使用{{1分别和StudentPlan.create