gpt4 book ai didi

ruby-on-rails - 如何防止 Rails 在 FasterCSV 输出中编码实体

转载 作者:行者123 更新时间:2023-12-04 05:50:29 24 4
gpt4 key购买 nike

我正在使用 FasterCSV 在 Rails 3 应用程序中生成报告的 CSV 输出。这是一个代码片段:

<%= FasterCSV.generate do |csv|
@groups.each do |b|
record = [ b.group, b.organization_name, b.status, b.comments ]
csv << record
end
end
%>

当 FasterCSV 包含空字符串时,它使用一对空双引号。

不幸的是,Rails 3 将这些引号编码为实体,这在 Excel 中不能很好地工作。这是我的 CSV 输出的样子(当 b.comments 为 nil 或空字符串时):

Rafeland,Rafe Organization,Submitted,&quot;&quot;

防止 Rails 对这些实体进行编码的公认方法是什么?我知道 raw 方法,但它不需要我可以将 CSV 生成放入的 block 。

最佳答案

我建议生成一个文件(也许只是一个临时文件)并提供该文件,但如果您想继续按照自己的方式进行,那么您需要告诉 Rails 整个 CSV 文件都是 HTML 安全的。假设 FasterCSV.generate 返回一个普通的字符串,然后简单地加上 html_safe:

<%= FasterCSV.generate do |csv|
...
end.html_safe
%>

关于ruby-on-rails - 如何防止 Rails 在 FasterCSV 输出中编码实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6710015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com