我有一个 Rails 3.2 应用程序,最近我添加了 mobile-fu gem,以便添加单独的移动视图。
有一些小问题,但在大多数情况下,它工作得很好。
但是,我只为少数几个页面制作了移动视图。当我尝试从移动设备转到没有移动视图的页面时,我得到:
Missing template after_hour_it_supports/index, application/index with {:locale=>[:en], :formats=>[:mobile], :handlers=>[:erb, :builder, :prawn, :prawn_dsl]}
这是我所期望的。
但是,有必要显示一些可能永远不会有移动对应的页面。具体来说,有一个页面可以批准某事。他们正在批准的东西可能永远不会有移动视图,但批准页面已经有移动视图。我目前的方法是使用 iframe 来显示可能的非移动视图。当然,如果存在移动视图,我更愿意在非移动视图(仍在 iframe 中)上使用它。
所以我想做的是尝试使用 :mobile 格式渲染模板,但如果移动格式不存在,则使用 :html 格式进行渲染,这看起来就像 rails 已经根据:formats
提到的数组所做的事情缺少模板异常。我可以找到一些关于如何:formats
在调用渲染时设置数组的文档,但我想自动执行此操作,而无需修改每个现有响应。
如何修改:formats=>[:mobile]
为:formats=>[:mobile, :html]
应用程序级别?