2014-08-27 58 views
0

我有這樣的形式:保存表單結果到Rails的一個文本文件

<%= form_tag(:action => "save", method: "post") do %> 
    <%= label_tag(:email, "Email") %> 
    <%= text_field_tag(:email) %> 
    <%= submit_tag("Submit") %> 
<% end %> 

我需要將結果保存到一個文件,我目前使用CSV但它並不真正的問題是什麼文件類型:

def save 

    require "csv" 
    CSV.open "output.csv", "a+" do |csv| 
    csv << [ "#{params[:email]"] 
    end 
    render :none 
    redirect_to "/thanks" 
end 

而在我的路線,我有:

get 'form', to: "static_pages#form" 
get 'form/submit', to: "static_pages#save" 
get 'form/thanks', to: "static_pages#thanks" 

在生成CSV的時刻,但參數不救它,一個d也它不劑量重定向,我只是得到404未找到/提交

回答

2

您的表單和路線不正確。 <%= form_tag('/form/submit') %>默認方法是POST,所以你不必指定它。

路線應根據上述方法進行更改: post 'form/submit', to: 'static_pages#save'

PS:我認爲你應該去RESTful的,但我沒有看到你的應用程序的全貌。

PPS:當你重定向時你不應該渲染。

PPPS:不要require 'csv'在您的方法中,但在文件的開頭,在您的類定義之前。

相關問題