我从index.html.erb中的几个问题中收集用户输入,并将它们存储在以逗号分隔的字符串中。我想将他们的答案添加到我的CSV文件中,并将其存储在我的Rails应用程序的公共目录中。我怎样才能做到这一点?我是否需要发出AJAX请求并存储它?以下是我到目前为止的情况:
//will print out all answers from form and log them
var exportInfo = "";
document.getElementById('submit').addEventListener('click', function() {
var newAdjustorInfo = document.getElementsByClassName('adjustorInfo');
for(var i = 0; i<newAdjustorInfo.length; i++){
exportInfo = exportInfo + newAdjustorInfo[i].value + ", ";
writeToFile(exportInfo);
}
//This should write to my file, but it does not
function writeToFile(data){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fh = fso.OpenTextFile("public/update.csv", 8);
fh.WriteLine(data);
fh.Close();
}
如果有帮助,我可以使用带有此代码的erb标记写入我的文件:
<% require "csv" %>
<% CSV.open("public/update.csv", "ab") do |csv| %>
<% csv << ["did it work?"] %>
<% csv << ["did it work?"] %>
<% end %>
});
答案 0 :(得分:1)
为什么不使用form_tag
制作remote: true
?然后,当您的用户单击“提交”按钮时,它只会将您的响应提交给您定义的控制器操作。然后在那个控制器动作中:
CSV.open("public/update.csv", "ab") do |csv|
csv << params[:foo]
csv << params[:bar]
end