Nic*_*oul 4 csv fastercsv html-safe ruby-on-rails-3
类似于这个问题,除了我不在html_safe整个项目的任何地方使用.
我生成一个CSV文件,index.csv.erb如下所示:
<%=
response.content_type = 'application/octet-stream'
CSV.generate do |csv|
@persons.each do |person|
csv << [ person[:name], person[:nickname] ]
end
end
%>
Run Code Online (Sandbox Code Playgroud)
问题:如果数据库中的昵称为NULL(ActiveRecord/MySQL),则CSV文件关联元素变为"".我希望"",甚至一无所获.
结果文件示例:
Nicolas, Nico
Joe, ""
Run Code Online (Sandbox Code Playgroud)
我怎样才能防止这种情况发生?
Ben*_*ret 14
这里的问题是你没有使用html_safe.你的昵称字段是空白的,并转换为""csv文件,但Rails和html转义被认为是不安全的.
只需调用html_safe结果:
<%=
response.content_type = 'application/octet-stream'
CSV.generate do |csv|
@persons.each do |person|
csv << [ person[:name], person[:nickname] ]
end
end .html_safe
%>
Run Code Online (Sandbox Code Playgroud)
您链接到的解决方案不再适用于Rails 3,因为默认情况下所有字符串都被认为是不安全的,而Rails 2中并非如此.
| 归档时间: |
|
| 查看次数: |
1995 次 |
| 最近记录: |