这个问题有两个部分:Rails的负载帮手覆盖其他辅助
- 这是可能加载,还是没有,具体的辅助文件,这取决于平台您使用?
- 如何覆盖其他帮助文件中的函数?
我想加载一个名为的助手文件MobileHelper当我使用手机检测会话时。在桌面平台上我不想加载这个文件。
另一方面,我有一个欢迎使用帮助与show_comments功能。这MobileHelper必须改变这个show_comments函数的逻辑。
现在,我已经提出了一个部分解决方案,如果它检测到您正在使用移动设备,则会在原始功能内调用具有其他名称的移动版本功能。
module WelcomeHelper
def show_comments
return mobile_show_comments if user_agent.mobile?
# original code
end
end
module MobileHelper
def mobile_show_comments
# mobile code
end
end
最终版本我想有是两个相同的命名函数在两个辅助文件和此文件中的一个必须是唯一的在移动平台上
如果项目没有实际完成,此解决方案将非常有用。将来我会尝试使用它。 –