ruby on rails-在控制器之间共享私有方法



嘿,伙计们,我有两个控制器,X和Y:

在X中,我有一个用于私有方法foo的:before_filter。

我在控制器X的顶部也有以下声明。

helper_method:foo

在控制器Y中,我有一个用于私有方法bar的:before_filter。在酒吧里,我叫foo。但显然这是不允许的,因为我得到了一个未定义的局部变量或方法错误。我认为我的:helper_method声明应该允许在其他控制器中使用foo。

一般来说,如何在控制器Y中实现对foo的调用?有没有办法保持foo的隐私?如果不是,如果foo不是私有的,如何实现(同时坚持良好的设计原则)?

谢谢!

如果在多个控制器中需要foo,则应将其作为受保护的方法放在基本应用程序控制器中。这将使您能够在需要的地方访问它,同时将它排除在公共界面之外。

或者,您可以将foo放在一个模块中,并根据需要包含它。

你采取哪种方法取决于你的具体情况。

最新更新