何时向application_controller.rb添加方法

时间:2012-08-11 18:33:43

标签: ruby-on-rails security controller

我的购物网站有一个在所有网页上都很常见的标题。 我在标题中添加了一个购物车图标,其中的数字会根据当前购物车中的内容进行更新。

因为这个图标需要current_cart的定义,所以我现在需要将它添加到每个控制器动作。这是不明智/不安全的吗?我是rails的新手,并不太了解向applications.rb添加方法的安全影响.rb

此外,最好的方法是将此一次添加到application_controller.rb中,还是将其单独添加到每个相关的控制器操作中?

提前感谢您的反馈!

2 个答案:

答案 0 :(得分:1)

考虑到DRY,最好一次添加此方法,在您的控制器继承树中增加一级。如果所有控制器都需要该方法,则application_controller.rb是个好地方。如果只是其中一些,那么您可以考虑创建继承自ApplicationController的控制器,将该方法存储在其中,并且所有需要从该方法继承的控制器都应该从中继承。

答案 1 :(得分:0)

所有控制器都从应用程序控制器继承。这意味着您在应用程序控制器中定义的任何方法都可用于所有其他控制器。