У меня есть класс, который я пытаюсь использовать в моем контроллере в действии индекса.Где разместить пользовательские классы, чтобы сделать их доступными по всему миру для приложения Rails?
Чтобы упростить его, это выглядит
class PagesController < ApplicationController
def index
@front_page = FrontPage.new
end
end
FrontPage
это класс, который я определил. Чтобы включить его, я поместил его в папку/lib /. Я попытался require 'FrontPage'
, require 'FrontPage.rb'
, require 'front_page'
, и каждый из них с пути предварённым, например require_relative '../../lib/FrontPage.rb'
Я получаю одно из следующих сообщений: cannot load such file -- /Users/josh/src/ruby/rails/HNReader/lib/front_page
или uninitialized constant PagesController::FrontPage
Где поставить этот файл/как я включаю его в контроллер, чтобы создать экземпляр объекта?
Это Rails 3.1.3, Ruby 1.9.2, OS X Lion
Вы пробовали 'требовать 'front_page''? – Mischa
@Mischa Да, все те, которые требуют аргументов, должны быть заключены в кавычки. Спасибо что подметил это. Использование этого 'require' приводит к ошибке' не может загрузить такой файл - front_page' –