2013-11-20 71 views
7

我正在使用Ruby on Rails,並且具有從用戶輸入獲取信息的表單。然後,我想要接受用戶輸入並將其寫入服務器端的文本文件。我希望將文件保存在/public/UserInput.txt等某處。從表單服務器端創建文本文件Ruby on Rails

有沒有辦法使用Ruby on Rails來做到這一點?或者我需要使用不同的語言來完成此操作,例如PHP?無論哪種情況,任何人都可以給我一個這樣做的例子嗎?

在此先感謝。

更新 我想是不是給我一個文本文件中的代碼是:

after_save :create_file 

def create_file 
parameter_file = File.new('C:\\parameter_file.txt', "w") 
parameter_file.puts(:parameter) 
end 
+1

您的服務器是否有權寫入該目錄?當另一個用戶想要保存文件並覆蓋它時會發生什麼?爲什麼不使用'open'的塊形式,或者更簡單地使用'File.write',這樣文件就會自動關閉?無法關閉文件句柄會最終消耗計算機上所有可用的文件句柄並導致代碼崩潰。 –

+0

感謝這是一個權限的事情,但:參數不給我的形式 – user2719805

回答

16

這是不是一個真正的軌特定問題。它可以用簡單的紅寶石來解決。

path = "/some/file/path.txt" 
content = "data from the form" 
File.open(path, "w+") do |f| 
    f.write(content) 
end 

其中target是你想要的文件中去,並content是任何數據你從表格中提取。

+0

的用戶輸入是的,我看到了,但我如何將它合併到使用軌道上的紅寶石建成的網站?該代碼是否適用於我的觀點或模型?我很困惑在哪裏放置它。 – user2719805

+0

在你的模型中,最好。視圖中不需要這種代碼。 – yamafontes