我正在学习轨道。我有一个控制器负责从用户上传的解析文件中介绍数据。我不希望数据存储在模型中的任何地方。我可以在控制器方法中包括可以实例化的课程吗?这是我的意思的基本代码示例:
此控制器仅包含一种方法:
class MyController < ApplicationController
def index
test = FileProcessorService.new
@test = test.test()
end
end
这是当实例调用其方法时处理逻辑的类:
class FileProcessorService
def test
return 'This is a test'
end
end
我的问题:
在哪里存储此课程的最佳地点是?如何在控制器中参考此类?关于在铁轨中使用课程的这个特定主题有什么建议吗?控制器中有常规的Ruby A类问题的实例吗?我不希望用户看到相同的数据。这就是为什么我不想在控制器中包含全局变量的原因。没有模型,因为我使用Java MVC有MVC后台。一旦我了解基本导轨控制器功能的工作方式,我将继续进行模型。
预先感谢您的帮助。
我通常将它们放在app/classes
中,或者如果有很多,则将其放入更具体的文件夹中,喜欢app/services
,app/notifiers
,等等。
您可以在config/application.rb
中启用自动加载:
config.autoload_paths += %W(#{config.root}/app/classes #{config.root}/app/services)
如果它们不是专门应用的,请将它们提取到宝石中。