2012-03-12 64 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

相关问题