1

我的购物网站有一个在所有页面中通用的标题。我在标题中添加了一个购物车图标,其编号会根据当前购物车中的内容进行更新。

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

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

提前感谢您的反馈!

4

2 回答 2

1

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

于 2012-08-11T18:47:44.753 回答
0

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

于 2012-08-11T18:44:49.870 回答