为Rails设置字符串数字部分的最有效方法?

时间:2011-11-30 19:27:26

标签: javascript ruby-on-rails string

我让用户提交一行必须包含一个数字的行(“说明”)。

目前我让用户在描述“253 foo foo bar bar”的开头提交号码 - 但我想更改它以便号码可以在任何地方。 “foo foo foo 253 bar bar bar”,“253 foo foo bar bar”,“bar bar foo 253”

该数字具有不同的CSS类。我的目标是显示描述字符串并围绕数字包装标签。我应该如何构建我的模型/视图,使用Javascript / rails来执行此操作?

这是我想到的可能性。我想保留MVC并最大化渲染视图的性能。用户正在提交在后端处理的一行。目前,我的数据库有Item.descriptionItem.number

  1. Item.description_beforeItem.numberItem.description_after - 当用户提交时,将描述字符串拆分为两部分。这似乎具有良好的性能和可读性,因为在视图中,我可以做<%= Item.description_before + "#{Item.number}" + Item.description_after。但是,将描述分为两部分似乎也很奇怪。

  2. Item.number_position - 在字符串中记录数字的位置,然后使用ruby字符串操作在字符串中的<class>字符周围添加n标记。

  3. 使用Javascript查找数字 - 但是如果我列出了25个帖子,那么每次页面加载时我都必须调用此函数25次并以这种方式进行字符串操作,这似乎有问题。 / p>

  4. 但我肯定在寻找新的建议,因为我无论如何都不是这方面的专家!或者,如果您已经完成了上述选项之一,那么任何答案都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

执行正则表达式替换的视图助手会很好而且足够快。类似的东西:

string.gsub(/[0-9]+/, '<span style="color:red">$1</span>')