【发布时间】:2012-01-19 01:51:30
【问题描述】:
过去两天我一直在努力解决这个问题,我终于缩小了来源。
我正在使用帮助程序为我的侧边栏生成 html,并在返回值上使用 html_safe。当我以正确的方式构建 html 时,它会导致我的控制器操作触发两次(当我从我的操作中将两条记录插入到我的数据库中时,我首先看到它,然后我使用 ruby-debug 进行了验证)。这是帮助代码:
def get_sidebar
first = String.new
second = String.new
str = String.new
str+= "<a href=''><img src='" << first << second << "'></a>"
str.html_safe
end
如果我修改 str 并从 concat'd vars 之前和之后删除 img 标签,它只会触发一次。如果 concat 的 var 不为空,它只会触发一次(这些最初来自不可为空的 db 列,但为空字符串)。如果我不调用 html_safe 方法,它只会触发一次......
有什么想法吗?这是 html_safe 的预期行为吗?我疯了吗?
提前致谢!
【问题讨论】:
标签: ruby-on-rails-3