我正在学习Rails。我有一个控制器,负责显示用户上传的解析文件中的数据。我不希望数据存储在模型中的任何位置。我可以在控制器方法中包含可实例化的类吗?这是我的意思的基本代码示例:
该控制器仅包含一种方法:
class MyController < ApplicationController
def index
test = FileProcessorService.new
@test = test.test()
end
end
这是在实例化调用其方法时将处理逻辑的类:
class FileProcessorService
def test
return 'This is a test'
end
end
我的问题:
存放此类的最佳地点在哪里?如何在控制器中引用此类?关于在Rails中使用类的特定主题有什么建议吗?控制器中是否存在常规红宝石类实例的问题?我不希望我的用户看到相同的数据。那就是为什么我不想在控制器中包括全局变量。没有模型,因为我拥有使用Java MVC的MVC背景。一旦了解了Rails控制器的基本功能后,我将继续介绍模型。
预先感谢您的帮助。
我通常将它们放入app/classes
,如果有很多,则放入更具体的文件夹app/services
,如app/notifiers
,等等。
您可以在中启用自动加载config/application.rb
:
config.autoload_paths += %W(#{config.root}/app/classes #{config.root}/app/services)
如果它们不是特定于应用程序的,请将其提取到gem。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句