2013-02-11 60 views
2

我使用jQuery Mobile的我的移動網站,並通過mobile_device?方法從Railscast#199如何從jQuery Mobile的網站切換到PC網站

這一點,我的正常的完整的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 Mobile的網站切換到我的電腦網站。

<%= link_to "PC Site", :mobile => 0 %> 

但是,它不加載PC站點樣式表。因此,頁面必須第二次重新載入才能使CSS生效。

如何在第一次嘗試時加載CSS?

編輯:

我的樣式表被分別加入到application.html.erbapplication.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 
+0

如何包含stylesshets? – raiis 2013-02-11 21:41:04

+0

嗨@rails。我添加了一個解釋作爲一個新的編輯。我有兩個獨立的應用程序佈局,每個都有自己的樣式表。 – umezo 2013-02-11 21:51:21

回答

0

問題是,jquery Mobile默認爲AJAX,所以我需要做的就是禁用它,如下所示。

<%= link_to "PC Site", :mobile => 0, "data-ajax" => "false" %>