Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 生成的CSV中的引号_Ruby On Rails_Ruby_Csv - Fatal编程技术网

Ruby on rails 生成的CSV中的引号

Ruby on rails 生成的CSV中的引号,ruby-on-rails,ruby,csv,Ruby On Rails,Ruby,Csv,我正在我的模型中生成CSV,以作为文件响应 def self.to_csv CSV.generate(col_sep: "\;") do |csv| csv << ["1", "2", "3", "4", "5"] all.each do |record| csv << [record.date.to_s, record.text, (MessageCharacter.find_by_id(record.message_ch

我正在我的模型中生成CSV,以作为文件响应

def self.to_csv
    CSV.generate(col_sep: "\;") do |csv|
      csv << ["1", "2", "3", "4", "5"]
      all.each do |record|
        csv << [record.date.to_s, record.text, (MessageCharacter.find_by_id(record.message_character_id).try(:name) || ""), record.commentable.name, record.user.name].map{|e| "#{e}"}
      end
    end
  end
但是,我得到的不是没有引号的值(如果在输入数据中我没有用引号括起来),就是如果我用额外的引号括起来,每个值都有3个引号!那么,如何按照上面显示的方式包装所有值呢?

从您可以使用
强制引用
选项,如下所示:

def self.to_csv
    CSV.generate(col_sep: "\;", force_quotes: true) do |csv|
      csv << ["1", "2", "3", "4", "5"]
      all.each do |record|
        csv << [record.date.to_s, record.text, (MessageCharacter.find_by_id(record.message_character_id).try(:name) || ""), record.commentable.name, record.user.name].map{|e| "#{e}"}
      end
    end
  end
def self.to_csv
CSV.generate(col_sep:“\”,force_quotes:true)do|CSV|
csv
def self.to_csv
    CSV.generate(col_sep: "\;", force_quotes: true) do |csv|
      csv << ["1", "2", "3", "4", "5"]
      all.each do |record|
        csv << [record.date.to_s, record.text, (MessageCharacter.find_by_id(record.message_character_id).try(:name) || ""), record.commentable.name, record.user.name].map{|e| "#{e}"}
      end
    end
  end