モバイルサイトにJQueryMobileを使用しており、Railscast#199mobile_device?
の方法を使用して、 JQueryMobileと通常のフル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