我正在做一个 Rails 应用程序,人们可以在其中进行测验。我有一个BrowserGame
负责控制器逻辑(会话、重定向等)的模型。目前,这是我的#initialize
方法:
class BrowserGame
def initialize(controller)
@controller = controller
end
end
在控制器中我有一个方法
class GamesController < ApplicationController
# actions
private
def browser_game
BrowserGame.new(self)
end
end
如您所见,我将整个控制器传递给BrowserGame#initialize
(因此我可以使用会话和其他人进行操作)。这是一个好主意吗?由于控制器实例是一个大对象,是否有任何副作用?