子文件夹

时间:2015-04-28 09:55:57

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我的测试文件夹的结构如下:

  test
    models
      restaurant
        helpers
           employee.rb
        points_test.rb

所以我的PointsTest看起来像这样:

require 'models/restaurant/helpers/employee.rb' 

   class Restaurant::PointsTest < ActiveSupport::TestCase
     ....
     employee1 = Restaurant::Employee.create

文件Employee是这样的:

class Restaurant::Employee
   def self.create
     .....

一切都像这样

-------------------------------------------- -

现在我尝试将class Restaurant::Employee更改为class Restaurant::Helpers::Employee

并在PointsTest我改为employee1 = Restaurant::Helpers::Employee.create

我得到此错误

未初始化的常数Restaurant :: Helpers(NameError)

我错了什么?我的意思是Helpers位于子文件夹helpers中!

1 个答案:

答案 0 :(得分:1)

您不能只在<{1}}链中声明常量,因为要查找每个常量。

A::B::C::D

会奏效。而

module Restaurant
  module Helper   # declare module Helper
    class Employee
      ...

在常量 # ⇓⇓⇓⇓⇓⇓ fail on try to const_get(:Helper) class Restaurant::Helper::Employee 查找时失败,因为它未定义。希望它有所帮助。