2012-03-12 58 views
0

我有以下的HTML表的代碼:Rails或CSS替換表格單元格內容如果某些字符串?

<table> 
    <tr> 
    <th>Time</th> 
    <th>Source</th> 
    <th class="hide-on-phones">Destination</th> 
    <th>Duration</th> 
    </tr> 
    <tr> 
    <td>11 Mar. 2012 - 16:37</td> 
    <td>0778593789</td> 
    <td class="hide-on-phones">08456783850</td> 
    <td>00:03:10</td> 
    </tr> 
</table> 

內容從Rails應用程序數據庫填充,目標字段被稱爲目標數據庫。

在事物的Rails方面,內容從我的Calls模型中拉取,該模型由rake任務填充。耙子任務屏幕爲我們的供應商網站刮取通話記錄。

理想情況下,我想用公司名稱替換​​目標內容(不需要建立數據庫關係等)。只有這個頁面和Rails應用程序很小而且很簡單。

我想象一個CSS規則,用圖像或Rails語句替換數字以過濾數字,如果它與設置值匹配,則用短語(公司名稱)替換。

有沒有簡單的方法來做到這一點,我忽略了?

UPDATE

當採用下面的推薦代碼:我得到一個錯誤。我不認爲when語句可以從零開始。

module CallsHelper 
    def format_destination(destination_number) 
    case destination_number 
    when 08456742850 
     image_tag "number_1234.jpg" 
    when 5678 
     image_tag "number_5678.jpg" 
    else 
     image_tag "default_number.jpg" 
    end 
    end 
end 
+0

'08456742850'是一個格式不正確的八進制數。 'destination_number'實際上是一個數字還是字符串?如果一個字符串(我認爲),你也想在'when'中使用字符串。你可能想使用散列而不是'case'開關,如果這個開關比四個或五個條目大。它只是簡單的代碼。 – 2012-03-12 17:29:20

+0

destination_number是一個字符串,示例代碼或教程可以指向我的方向? – dannymcc 2012-03-12 21:03:17

+1

當您嘗試匹配字符串時,請使用'when「08456742850」'。這個級別的Ruby可能是最好的介紹教程;恐怕我沒有及時更新好的那些日子。 pragprog.com有很好的材料,但不免費。 – 2012-03-16 16:31:22

回答

1

爲什麼不創建一個幫助器方法將您的目的地轉換爲您想要顯示的值? 我假設你有一組不同的目的地,不會改變,這將允許你在你的應用程序中對它們進行硬編碼,而不需要將它們存儲在數據庫中以便稍後通過應用程序進行修改?

這樣的事情?

def format_destination(destination_number) 
    case destination_number 
    when 1234 
    image_tag "number_1234.jpg" 
    when 5678 
    image_tag "number_5678.jpg" 
    else 
    image_tag "default_number.jpg" 
    end 
end 
+0

我在想那個,但感到困惑!那麼我會在我看來調用<%= call.format_destination%>嗎? – dannymcc 2012-03-12 14:51:40

+0

在您看來,您只需使用'<%= format_destination 08456783850%>'儘管如果它與您使用的圖像緊密相關,爲什麼不放在你自己的image_tags放到視圖中了嗎? – Jon 2012-03-12 19:56:05

+0

如果我可以幫助它,它不會被替換它們的圖像,我想用具體的公司名稱替換​​特定的數字。以下工作? <%= format_destination call.destination%> – dannymcc 2012-03-12 20:25:41

相關問題