我的应用程序控制器中有这个:
class ApplicationController < ActionController::Base
helper_method :mobile_device?
before_filter :prepare_for_mobile
private
def mobile_device?
request.user_agent=~ /Mobile|webOS/
end
def prepare_for_mobile
request.format = :mobile if mobile_device?
end
end
我正在关注此视频直播视频:http://railscasts.com/episodes/199-mobile-devices
问题是: 当我第一次加载页面时,它检测到移动浏览器并将请求作为MOBILE格式获取。但是,如果我去我网站上的任何其他页面,它会呈现HTML格式而不是MOBILE。如果我重新加载页面,它会再次检测到格式是MOBILE。
这里有什么问题?
答案 0 :(得分:1)
您可能想尝试使用before_action
代替before_filter
。
编辑 :评论中提及的paul richter ... before_filter
仍然可以使用。但请注意,Rails不鼓励使用before_filter
并建议开发人员使用before_action
。