У меня есть модель пользователяКак продлить модель в рельсах 4,2
class User
def fname
@fname
end
def fname=(str)
@fname = str
end
def greeting
"Hello #{@fname}"
end
end
Но я хочу, чтобы удалить метод greeting
где-то еще, так что моя модель пользователя не включают в себя бизнес-логику. Как я мог это достичь? Я пытаюсь создать модуль (foo.rb) в lib, но его не работает. Должен ли я включать в модель пользователя?
Обновлено Информация: Я обновил свой код
module UserBusinessEntity
def speak(sound)
return "#{sound} is its sound"
end
def greeting
"#{self.id} Hello, #{self.fname} #{self.lname} you are #{self.age} years old"
end
end
class User < ActiveRecord::Base
include UserBusinessEntity
end
Это работает, если оба кода в одном файле. i.e. app/models/User.rb
Но я хочу, чтобы переместить module UserBusinessEntity
код app/services/
Должен ли я добавить требовать у пользователя модели. Если это так, я добавил, как require UserBusinessEntity
но его дает uninitialized constant UserBusinessEntity
Зачем включать Ube? Должно быть включено UserBusinessEntity –
Его 'UserBusinessEntity'. Извините за опечатку. Но проблема все еще существует. Если я помещаю 'UserBusinessEntity' в какую-то другую папку, он дает ошибку – iamkdev
Вы пытались перезагрузить приложение? –