关注点和控制器之间共享代码的位置

时间:2018-10-03 15:18:21

标签: ruby-on-rails ruby

我知道我可以将共享的controller代码放在ApplicationController中,并且我可以将共享的关注代码放在ApplicationConcern中,但是我可以放置一个可以在所有ControllersConcerns都是?

2 个答案:

答案 0 :(得分:0)

您可能只想要plain old ruby object。 Rails为您定义了许多方便的结构,但请不要将自己置入其中。创建一个常规的Ruby类,并将其用于您的控制器,模型以及其他任何地方。

答案 1 :(得分:0)

这完全取决于用例。例如:我更喜欢将ApplicationController主要用于从异常中抢救或设置常量。与设置当前用户,他/她的偏好有关的代码通常会受到关注。我希望保持应用程序控制器的混乱状态,并将逻辑转移到其他问题上。

使用关注点的好处是使代码干燥。如果您不需要所有控制器中的代码,那么只需几个控制器就可以了。