Ich habe ein BenutzermodellWie Modell erweitern in Schienen 4.2
class User
def fname
@fname
end
def fname=(str)
@fname = str
end
def greeting
"Hello #{@fname}"
end
end
Aber ich mag woanders die greeting
Methode entfernen, so dass mein Benutzermodell der Geschäftslogik nicht beinhalten. Wie soll ich das erreichen? Ich versuche, ein Modul (foo.rb) in der Bibliothek zu erstellen, aber es funktioniert nicht. Sollte ich in das Benutzermodell aufnehmen?
Info aktualisiert: ich meinen Code aktualisiert
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
Dies funktioniert, wenn beide Code in derselben Datei. i.e. app/models/User.rb
Aber ich will die module UserBusinessEntity
Code app/services/
bewegen Muss ich erfordern Modell auf Benutzer hinzufügen. Wenn so habe ich wie require UserBusinessEntity
Aber Sein gibt uninitialized constant UserBusinessEntity
Warum Ube? Sollte UserBusinessEntity enthalten –
Es ist 'UserBusinessEntity'. Entschuldigung für den Tippfehler. Aber das Problem existiert immer noch. Wenn ich die 'UserBusinessEntity' in einen anderen Ordner lege gibt es einen Fehler – iamkdev
Haben Sie versucht, die App neu zu laden? –