Hor*_*ice 8 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-4
我正在学习Rails.我有一个控制器负责显示解析用户上传的文件的数据.我不希望数据存储在模型中的任何位置.我可以包含一个可以在我的控制器方法中实例化的类吗?这是我的意思的基本代码示例:
该控制器只包含一种方法:
class MyController < ApplicationController
def index
test = FileProcessorService.new
@test = test.test()
end
end
Run Code Online (Sandbox Code Playgroud)
这是在实例化调用其方法时将处理逻辑的类:
class FileProcessorService
def test
return 'This is a test'
end
end
Run Code Online (Sandbox Code Playgroud)
我的问题:
这个班级最好的存放地点在哪里?我怎样才能在控制器中引用这个类?关于在rails中使用类的特定主题的任何建议?常规ruby类的实例是控制器中的问题吗?我不希望我的用户看到相同的数据.这就是为什么我不想在我的控制器中包含全局变量.没有模型,因为我有一个MVC与Java MVC的背景.一旦我理解了基本的rails控制器功能如何工作,我将转向模型.
预先感谢您的帮助.
我通常把这些app/classes,或如果有很多人,为更具体的文件夹喜欢app/services,app/notifiers等等.
您可以在config/application.rb以下位置启用自动加载:
config.autoload_paths += %W(#{config.root}/app/classes #{config.root}/app/services)
Run Code Online (Sandbox Code Playgroud)
如果它们不是特定于应用程序,则将它们提取到gem.
| 归档时间: |
|
| 查看次数: |
1480 次 |
| 最近记录: |