Ruby on rails 具有相同方法名称的多个Rails帮助程序
我有两个不同的帮助器文件(照片\u帮助器和注释\u帮助器),其中有一个名为Ruby on rails 具有相同方法名称的多个Rails帮助程序,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有两个不同的帮助器文件(照片\u帮助器和注释\u帮助器),其中有一个名为actions\u的方法用于。如何显式调用所需的帮助器方法?我知道我可以重命名其中一个,但我更愿意保持它们不变。我尝试了的photoHelper::actions\u,但似乎不起作用。将它们都作为类方法 module LoginsHelper def self.your_method_name "LoginsHelper" end end 及 那么 LoginsHelper.your_method_
actions\u的方法用于
。如何显式调用所需的帮助器方法?我知道我可以重命名其中一个,但我更愿意保持它们不变。我尝试了的photoHelper::actions\u,但似乎不起作用。将它们都作为类方法
module LoginsHelper
def self.your_method_name
"LoginsHelper"
end
end
及
那么
LoginsHelper.your_method_name #Gives 'LoginsHelper'
及
在Rails 3中,所有辅助程序都始终包括在内(在Rails 3.1中,存在一个补丁,可以有选择地再次允许辅助程序)。幕后发生的事情:
class YourView
include ApplicationHelper
include UserHelper
include ProjectHelper
...
end
因此,根据Rails包含它们的顺序,将使用任何用于
方法的操作。您无法明确选择其中一个
如果您必须显式地为
调用ProjectHelper.action\u,您还可以为
命名您的方法project\u action\u-最简单的解决方案。但是,这不允许访问任何其他“常规”ActionView::Helper方法,例如其中的link\u to、\u url、image\u标记。
UsersHelper.your_method_name #Gives 'UsersHelper'
class YourView
include ApplicationHelper
include UserHelper
include ProjectHelper
...
end