如果某些字符串,Rails或CSS替换表格单元格内容?

时间:2012-03-12 14:09:25

标签: html css ruby-on-rails if-statement html-table

我有以下HTML表格代码:

<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任务填充。 rake任务屏幕会在我们的提供商网站上搜索呼叫记录。

理想情况下,我想用公司名称替换​​目标内容(不建立数据库关系等)。它仅适用于此页面,Rails应用程序非常简单。

我想象一个CSS规则用图像替换数字或Rails语句来过滤数字,如果它匹配一个设定值,则用短语(公司名称)替换。

有一种简单的方法可以做到这一点我忽略了吗?

更新

使用以下建议的代码时出现错误。我不认为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

1 个答案:

答案 0 :(得分: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