我尝试将Rails 2.3.11应用程序升级到Rails 3.2.3,但ApplicationHelper中的这个函数在浏览器中不再正常工作(在Rails控制台中一切正常):
def basic_markup(text)
if text
text.gsub!(/(\A|\s|\[|\()_(.+?)_/iu, '\1<em>\2</em>')
text.gsub!(/(\A|\s|\[|\()#(.+?)([^&])#/iu, '\1<del>\2\3</del>')
text.gsub!('->', '→')
text.gsub!('<-', '←')
end
text
end
text = '#strikeout# normal _italic_'
puts basic_markup(text)
# Rails 2.3.11
# => "<del>strikeout</del> normal <em>italic</em>"
# Rails 3.2.3
# => "#strikeout# normal <em>italic</em>"
Rails 2.3.11上的示例:http://moly.hu/karcok/150362
在Rails 3.2.3上也是如此:http://moly.hu:3000/karcok/150362
怎么了?
答案 0 :(得分:0)
从评论中复制答案,以便从“未答复”过滤器中删除此问题:
Frost建议升级:
更新我上面的评论:我刚尝试创建一个新的rails 3.2.3项目,将该方法放在
application_helper
中并从具有相同文本的视图中调用它,并且工作得很好。我想你在其他地方错过了什么。
Nagy Bence确认:
问题解决了,也许Rails的simple_format在2.3.11和3.2.3之间发生了变化,但现在它运行正常。感谢您的评论!