【发布时间】:2016-08-29 00:04:56
【问题描述】:
在我的 rails 4 应用程序中,我的 App 文件夹中有一个子文件夹 logic,我在其中放置了不属于控制器或模型的类/方法。
但是,当我尝试从控制器访问这些方法时,我收到一个未知方法错误。
这是logic文件夹中的一个类:
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
如何在我的控制器中访问这些方法?
当我刚刚执行update_context(my_message, @session) 时,正如我所说,我得到一个未知方法错误。
这是我的 App 文件夹结构:
App
Assets
Controllers
Logic
analyze.rb
Helpers
Mailers
Models
Views
编辑:
我确实添加了:
config.autoload_paths << Rails.root.join('app/logic/**/') 到我的 application.rb 文件。
所以这不是重复的。
【问题讨论】:
-
@DaveSchweisguth 查看我的编辑
-
Analyze.new.update_context(...)?
标签: ruby-on-rails ruby