我有两个不同的帮助程序文件(photos_helper & comments_helper),它有一个名为actions_for
的方法。我如何明确调用我需要的帮助器方法?我知道我可以重命名其中的一个,但我宁愿保持它们不变。我试过PhotosHelper::actions_for
但这似乎不起作用。具有相同方法名称的多个Rails帮助程序
5
A
回答
7
在Rails 3中,所有的助手总是(在Rails 3.1中有一个补丁存在来选择性地允许助手)。这是怎么回事幕后:
class YourView
include ApplicationHelper
include UserHelper
include ProjectHelper
...
end
所以取决于顺序Rails包含它们,你的任何actions_for
方法将被使用。你无法明确选择其中之一。
如果您不得不明确地致电ProjectHelper.action_for
,您也可以将您的方法命名为project_action_for
- 最简单的解决方案。
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'
相关问题
- 1. 一个方法中具有相同名称的多个变量
- 2. 具有相同名称的方法
- 3. 具有相同方法名称的多个接口的继承
- 4. 具有相同方法名称的多个接口
- 5. 助手方法具有相同的名称为部分
- 6. Rails显式解析具有相同名称的视图助手
- 7. 具有两个不同名称的相同方法?
- 8. 具有相同名称的jquery多个按钮触发多个具有相同名称的类的事件
- 9. 具有相同名称的JDBC多列
- 10. Java如何区分这些具有相同名称/签名的多个方法?
- 11. Rails Gravatar帮助程序方法
- 12. 具有相同名称的多个进程
- 13. 两个具有相同名称的通用方法
- 14. Android Studio“应用程序具有相同的程序包名称”
- 15. 不同类型的具有相同名称的调用方法
- 16. 具有相同名称但不同的HTTP方法
- 17. WCF具有重复方法名称的多个合同
- 18. 具有相同名称
- 19. 具有相同名称
- 20. iTextSharp acroFields.SetField方法和具有相同名称的多个表单域
- 21. 安装具有不同名称的相同应用程序
- 22. 具有相同名称的不同应用程序?
- 23. 具有相同名称,不同ID的多个MySQL记录
- 24. 具有相同类型但名称不同的多个元素?
- 25. 具有相同方法名称但不同参数的多继承创建TypeError
- 26. 具有相同名称的CSS多个ID是否有效?
- 27. StatusCode帮助程序方法
- 28. 使用具有相同名称但具有不同参数的助手
- 29. 如何调用和测试具有相同名称的方法?
- 30. 具有相同名称的Jython重写方法
但是,这不允许访问其中任何其他“常规”ActionView :: Helper方法,如link_to,_url,image_tag。 – 2011-06-09 06:41:19