【问题标题】:save string to file将字符串保存到文件
【发布时间】:2012-02-03 07:32:56
【问题描述】:

我有一个迭代(在我看来):

(1..@count.to_i).each do |i|
   ...doing things...
  @bigtable << @result[0..result.length-2]
end

每个@result 都是一个字符串。 @bigtable 具有迭代的每个 @result。 现在我想要什么: 我想将@bigtable 中的内容(单击按钮后)保存到 .csv 文件中(并选择将其保存在硬盘上的位置)。我想这样做就像@bigtable 中的每个@result 都在自己的单行中一样,就像这样(伪代码):

@result string from @bigtable[0]
@result string from @bigtable[1]
etc.

请帮忙

【问题讨论】:

    标签: ruby-on-rails-3 file-io csv save


    【解决方案1】:

    要将数组转换为字符串,您可以这样做:

    @bigtable.join("\n")
    

    将此字符串写入文件:

    File.open("path/to/file", "w") { |file| file.write @bigtable.join("\n") }
    

    就是这样!

    顺便说一句:

    @result[0..result.length-2] == @result[0..-2]
    

    【讨论】:

    • 你必须为你的一个控制器创建一个动作,并在你的按钮被点击时调用这个动作,基本上。
    • 好的,我的generators_controller 中有类似的东西:def savefile @bigtable.join("\n") File.open("path/to/file", "w") { |file| file.write @bigtable.join("\n") } end 以及如何将它绑定到我视图中的按钮(html 代码)?你能帮帮我吗?
    • 这是非常基础的东西,你应该看看 RoR 教程。基本上,您必须创建一条路线以从您的视图中到达您的新操作。请注意,如果您的 @bigtable 变量已在视图中创建(不是真正的 MVC ......),您必须通过参数传递它,这要归功于表单,类似的东西。
    • 谢谢!我忘记了这一点(通过参数),我的代码不起作用,但多亏了你,我会修复它。再次感谢!
    • 很遗憾,我无法解决这个问题,您 (@john-mckey) 可以帮帮我吗?这是一个新问题的链接:stackoverflow.com/questions/8749142/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2012-05-11
    • 2014-02-11
    • 1970-01-01
    相关资源
    最近更新 更多