我正在为我的移动站点使用 JQuery Mobile,并通过Railscast#199mobile_device?
中的方法在该站点和我正常的完整 PC 站点之间切换
application_controller.rb
before_filter :prepare_for_mobile
def mobile_device?
if session[:mobile_param]
session[:mobile_param] == "1"
else
request.user_agent =~ /Mobile/
end
end
helper_method :mobile_device?
def prepare_for_mobile
session[:mobile_param] = params[:mobile] if params[:mobile]
if mobile_device?
if request.format == :js
request.format = :mobilejs
else
request.format = :mobile
end
end
end
这种方法允许我从我的 JQuery 移动站点切换到我的 PC 站点。
<%= link_to "PC Site", :mobile => 0 %>
但是,它不加载 PC 站点样式表。因此,必须第二次重新加载页面才能使 CSS 生效。
如何在第一次尝试时加载 CSS?
编辑:
我的样式表分别添加到application.html.erb
和application.mobile.erb
应用程序.html.erb
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
应用程序.mobile.erb
<%= stylesheet_link_tag "mobile" %>
<%= javascript_include_tag "mobile" %> # this is where my jquery mobile js file is