Я пытаюсь создать объект службы, чтобы извлечь несколько методов из модели ARM product.rb
, но по какой-то причине я не могу автозагрузить новый класс TwitterShare
. Когда я нажимаю консоль и пытаюсь что-то вроде Product.last.twitter_share_text
, я получаю ошибку NameError: uninitialized constant Product::TwitterShare
.рельсы, организующие папки для служебных объектов
Что здесь происходит? Как мне организовать папки/файлы? Должен ли я указывать рельсы на автозагрузку? Вот текущий код:
приложение/модели/product.rb
class Product < ActiveRecord::Base
def twitter_share_text
TwitterShare.new(name: self.name, oneliner: self.oneliner).return_text
end
приложения/услуги/twitter_share.rb
class TwitterShare
attr_reader .........
def initialize....
end
Спасибо Dharam. Я не был уверен, правильно ли это. Я проверил репозиторий github, где парень использует ту же структуру папок, но не включил эту строку в 'application.rb'. Благодаря этому я думал, что должен быть лучший способ сделать это. –