我为我的 Rails 应用程序创建了一个移动 mime 类型(即两种类型的视图文件html.erb
和mobile.erb
)。
我有一些static_pages/about.html.erb
尚未转换为.mobile
格式的静态页面(例如)。
如果有人试图在他们的手机上访问丢失的模板,我如何自动重定向到 root_path?
我为我的 Rails 应用程序创建了一个移动 mime 类型(即两种类型的视图文件html.erb
和mobile.erb
)。
我有一些static_pages/about.html.erb
尚未转换为.mobile
格式的静态页面(例如)。
如果有人试图在他们的手机上访问丢失的模板,我如何自动重定向到 root_path?
虽然这很烦人,但我可以理解你正在这个过程中工作。
有一个粗略的想法,虽然没有验证
class ApplicationController < ActionController::Base
rescue_from ActionView::MissingTemplate, :with => :template_not_found
private
def template_not_found
redirect_to root_path
end
end
对于您的进一步问题,您似乎正在为同一域的普通站点和移动站点提供服务,并使用用户代理或其他 JS 方法进行检测。
我认为这里更好的做法是首先使用普通页面(如果普通网站是您的首要关注点),然后再适应移动设备。
因此,如果缺少模板,访问者总是可以通过渲染或重定向获得正常页面,即使他使用的是移动设备。
您不是唯一一个链接到您的网页的人。用户可以添加社交书签,Google 将索引该站点。这些都导致您的链接暴露。
如果它们中的大多数都被覆盖,我认为为丢失的模板添加救援是可以的。