传递参数后保存文件

时间:2012-01-05 20:16:12

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

以下是家长提问:save string to file 我想在点击按钮后传递将保存在文件(.csv)中的参数。

@bigtable是一个包含每行字符串的表。 这是我的show.html.erb中的代码:

...some code here...
<%= form_tag do %>
  <% text_field_tag, id = "bigtable", value = @bigtable.to_s %>
  <%= submit_tag 'Zapisz' %>
<% end %>

和我的控制器方法:

 def savefile
    @bigtable = param[:bigtable]
    @bigtable.join("\n")
    File.open("path/to/file", "w") { |file| file.write @bigtable.join("\n") }
  end

但是我的代码不起作用:/ 我想将@bigtable字符串保存到文件中。表的每一行记录都是文件的新行。我想保存文件而不重定向当前页面,但完全不知道原因:(请帮忙。


好吧,我知道为什么它不起作用 - 我应该添加一些新路由来初始化savefile方法 - 但是如果没有重定向/刷新当前页面的结果呢?请帮忙

2 个答案:

答案 0 :(得分:1)

使用<%= form_tag(url, :remote => true) do %>与Ajax进行通话,因此您的页面不会被重定向。使用服务器日志查看请求是否已执行(如果您想在页面中获取ajax调用的结果,请查看http://www.alfajango.com/blog/rails-3-remote-links-and-forms/)。

答案 1 :(得分:0)

我找到了一个解决方案 - 在这里不写双重帖子是主题的链接和答案:saving variable to file and downloading it