Моя тестовая папка структурирована следующим образом:неинициализированным постоянный файл в подкаталоге
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
и я получаю эту ошибку :
неинициализированным константа Re staurant :: Помощники (NameError)
Что я не так? Я имею в виду, что Helpers
находится в подпапках helpers
!
Привет, Спасибо! И есть ли способ сократить «модульные» декларации. Есть ли способ разместить его в одной строке? –
Конечно, модуль-ресторан; Помощник модуля; класс Employee' с соответствующим закрытием 'end; конец ; end' работает. Но в целом использование этого не является лучшей практикой. Я бы объявил 'module Restaurant :: Helper; end', а затем используйте начальную короткую нотацию, которая теперь прекрасна, так как модуль уже определен. – mudasobwa