【发布时间】:2013-02-11 20:42:00
【问题描述】:
我将 JQuery Mobile 用于我的移动网站,并通过 Railscast#199 的 mobile_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
application.html.erb
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
application.mobile.erb
<%= stylesheet_link_tag "mobile" %>
<%= javascript_include_tag "mobile" %> # this is where my jquery mobile js file is
【问题讨论】:
-
如何包含样式表?
-
嗨@rails。我添加了一个解释作为新的编辑。我有两个独立的应用程序布局,每个布局都有自己的样式表。
标签: javascript css ruby-on-rails