7
我正在學習Rails。我有一個控制器負責顯示解析用戶上傳文件的數據。我不希望數據存儲在模型中的任何地方。我可以包含一個可以在我的控制器方法中實例化的類嗎?這裏是什麼,我的意思是一個基本的代碼示例:如何在rails中編寫和包含常規ruby類
該控制器只包含一個方法:
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中使用類的這個特定主題的任何建議?控制器中是否有常規ruby類的實例存在問題?我不希望我的用戶看到相同的數據。這就是爲什麼我不想在我的控制器中包含全局變量。自從我有一個MVC與Java MVC背道後,沒有模型。一旦我瞭解基本軌道控制器功能的工作原理,我就會轉向模型。
非常感謝您的幫助。
好的......但是我怎麼包括這個類?什麼是config.root?我沒有看到我的application.rb文件中的config.autoload_paths。我看到#config.i18n.load_path + = Dir [Rails.root.join('my','locales','*。{rb,yml}')。to_s] #config.i18n.default_locale =:de '和'需要File.expand_path('../ boot',__FILE __)'..我使用rails 4 btw。我該怎麼辦? –
在你的'config/application.rb'文件中,將這個答案中的'config.autoload_paths'行添加到'class Application
明白了!有用。謝謝。所以我有另一個問題。我在我的控制器中創建了這個類的一個實例。每個控制器都會請求創建一個常規ruby類的新實例嗎?只是想確保常規ruby類的實例屬性不會跨請求共享。謝謝。 –