我为我的Rails应用创建了一个移动mime类型(即两种类型的视图文件,html.erb
和mobile.erb
)。
我有一些尚未转换为static_pages/about.html.erb
格式的静态页面(例如.mobile
)。
如果有人试图在手机上访问丢失的模板,如何自动重定向到root_path?
答案 0 :(得分:4)
虽然这很烦人,但我知道你正在这个过程中工作。
虽然没有经过验证,但有一个粗略的想法
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会将该网站编入索引。这些都会导致您的链接暴露。
如果他们中的大多数都被覆盖,我认为为缺少的模板添加救援是可以的。