In meiner App rails 4 habe ich einen Unterordner logic
in meinem App-Ordner, wo ich Klassen/Methoden ablege, die nicht zu Controllern oder Modellen gehören.Zugriff auf die Methoden und Klassen des Unterordners
Wenn ich jedoch versuche, von einem Controller auf diese Methoden zuzugreifen, erhalte ich einen unbekannten Methodenfehler. Hier
ist eine Klasse, in der logic
Ordner:
class Analyze
def intent_determination(msg, context)
keywords = [["categories", "category"], ["brands", "brand"], ["stock", "stocks"], ["info", "information"], ["no"], ["yes"]]
tokenized_array = msg.split
keywords.each {|array| context["intent"] = array.first if (tokenized_array & array).any? }
context
end
def update_context(msg, session)
session.update(context: intent_determination(msg, session.context))
session.update(context: brand_determination(msg, session.context))
session.update(context: style_determination(msg, session.context))
session
end
end
Wie kann ich diese Methoden in meinem Controller zugreifen? Wenn ich nur update_context(my_message, @session)
ausführen, wie ich schon sagte, bekomme ich einen unbekannten Methodenfehler.
Hier ist meine App Ordnerstruktur:
App
Assets
Controllers
Logic
analyze.rb
Helpers
Mailers
Models
Views
EDIT: ich hinzufügen tat: config.autoload_paths << Rails.root.join('app/logic/**/')
meiner application.rb Datei.
Das ist also kein Duplikat.
Mögliches Duplikat von [Wie füge ich einen neuen Ordner mit der Klasse in der Schiene hinzu?] (Http: // stackoverflow.com/questions/26406383/how-hinzufügen-new-ordner-mit-klasse-in-rails-app) –
@DaveSchweisguth siehe meine bearbeiten –
'Analyze.new.update_context (...)'? –