2010-04-12 60 views
0

問題,我有一個出來時,我改變了我的應用程序從雜種到mod_rails一個奇怪的錯誤。從兩列布局三列布局具體情況取決於用戶在應用程序Rails的:與application.html.erb佈局文件和application_helper.rb

我的應用程序的變化。我的應用程序佈局依賴於幾個助手將div放在正確的位置。

在application_helper.rb:

def left_column_layouts 
    if params[:controller] == "users" && params[:action] == "show" || 
     params[:controller] == "friendships" && params[:action] == "index" || 
     params[:controller] == "tags" && params[:action] == "index" 
     true 
    else 
     false 
    end 
end 

我也有其中三個列布局類似的邏輯。

然後,在我的佈局文件:

<% if left_column_layouts %> 
    <div class="colmask leftmenu"> 
    <div class="colleft"> 
    <%= yield %> 
    </div> 
    </div> 
<% elsif three_columns_with_blank_sides %> 
<div class="colmask threecol"> 
<div class="colmid"> 
<div class="colleft"> 
    <%= yield %> 
<div class="col2"> 
</div> 
<div class="col3"> 
</div> 
</div> 
</div> 
</div> 
<% else #Three column layout %> 
    <div class="colmask threecol"> 
    <div class="colmid"> 
    <div class="colleft"> 
<%= yield %> 
    </div> 
    </div> 
    </div> 
<% end %> 

這個工作順利,直到我改爲國防部軌道。我無法想象爲什麼mod導軌會使這部分應用程序根本無法工作。

值得注意的一點是:我去我的網站的HTTPS部件和佈局被加載沒有問題。我的服務器支持人員說我應該清除緩存,但問題仍然存在。

任何幫助,將不勝感激!

+0

不能與mod_rails的一個問題。你還幹了什麼? – fig 2010-04-12 19:38:47

+0

讓我們來看看...... 我確實修改了一些佈局文件以放入新的標題圖片,但我無法想象這與輔助程序沒有加載有關。加載到安全頁面而不是常規頁面的事實讓我感到困惑。 – 2010-04-12 19:45:19

+0

當你說它「不起作用」時,你是什麼意思?沒有渲染?產生錯誤?查看渲染頁面的來源並將其發佈到此處。 – bensie 2010-04-12 20:03:27

回答

1

我知道這是一個古老的職位,但只是爲了確保其他人會看到它。如果我正確理解你想要的東西,我相信問題在於你的條件中使用的邏輯。

如果你想顯示左邊的列時,控制器:作用是用戶:顯示或友誼:指數或標籤:指數,你的邏輯條件是不正確。你需要括號來糾正它們。例如,假設用戶是'A',表示是'B',友誼是'C',友誼索引是'D',標籤是'E',標籤索引是'F'。

你的代碼都代表& &乙|| C & & D || Ë& &女,但我相信你想要的是(A & & B)|| (C & & d)|| (E & & F)。因爲A & & B || C & & D || È& & F不等於(A & & B)|| (C & & d)|| (E & & F),該方法可以返回不正確的結果。更清楚地說,從A到E的所有參數都是正確的,但F是錯誤的。你的方法將返回錯誤,這應該是真實的。情況可能如此。

+0

嘿Taywin。謝謝您的幫助!服務器做了重大升級,現在問題沒有了。奇怪的。我應該實施這些更改,以確保不會再發生。 – 2010-06-09 15:39:39

+0

不客氣。 – Taywin 2010-06-15 15:33:29

相關問題