我有两个不同的帮助文件(photos_helper& comments_helper)w /有一个名为actions_for
的方法。如何显式调用我需要的辅助方法?我知道我可以重命名其中一个,但我更愿意让它们保持不变。我试过PhotosHelper::actions_for
,但这似乎不起作用。
答案 0 :(得分:7)
在Rails 3中,所有帮助程序总是(在Rails 3.1中存在一个补丁,以便有选择地再次允许帮助程序)。幕后发生了什么:
class YourView
include ApplicationHelper
include UserHelper
include ProjectHelper
...
end
因此,根据Rails包含它们的顺序,将使用您的任何actions_for
方法。你无法明确选择其中一个。
如果您必须明确调用ProjectHelper.action_for
,您还可以为方法命名project_action_for
- 最简单的解决方案。
答案 1 :(得分:6)
将它们都设为Class Method
module LoginsHelper
def self.your_method_name
"LoginsHelper"
end
end
和
module UsersHelper
def self.your_method_name
"UsersHelper"
end
end
然后在视图中
LoginsHelper.your_method_name #Gives 'LoginsHelper'
和
UsersHelper.your_method_name #Gives 'UsersHelper'