我让用户提交一行必须包含一个数字的行(“说明”)。
目前我让用户在描述“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.description
和Item.number
Item.description_before
,Item.number
,Item.description_after
- 当用户提交时,将描述字符串拆分为两部分。这似乎具有良好的性能和可读性,因为在视图中,我可以做<%= Item.description_before + "#{Item.number}" + Item.description_after
。但是,将描述分为两部分似乎也很奇怪。
Item.number_position
- 在字符串中记录数字的位置,然后使用ruby字符串操作在字符串中的<class>
字符周围添加n
标记。
使用Javascript查找数字 - 但是如果我列出了25个帖子,那么每次页面加载时我都必须调用此函数25次并以这种方式进行字符串操作,这似乎有问题。 / p>
但我肯定在寻找新的建议,因为我无论如何都不是这方面的专家!或者,如果您已经完成了上述选项之一,那么任何答案都会有所帮助。谢谢!
答案 0 :(得分:2)
执行正则表达式替换的视图助手会很好而且足够快。类似的东西:
string.gsub(/[0-9]+/, '<span style="color:red">$1</span>')