2017-05-08 86 views
0

我在Ruby on Rails中有一個應用程序,我需要讀取用戶在發送文件後發送的某個TXT文件,這些文件的數據將顯示給用戶,以便它確認文件是否正確,如果是,則在保存該文件時,該文件包含作爲測試答案的字母,並且每個字母表示問題,例如:如何在rails中讀取txt文件並在顯示後保存

「EEDEBACABDBBADAADEADEAB」

即, 「1 => E,2 => E,3 => d,4 => E」

但每一個字母必須在不同的列作爲dislp奠定下來

id | question | answer 
1  1   E 
2  2   E 
1  3   D 

此文件將在.txt格式通過一種形式,我希望它一直較好發送瞭解

想法?

+0

我不清楚該字符串與您描述的其他內容之間的關係。你能編輯你的問題並給出一個更具體的例子嗎?這些「ID」值來自哪裏?爲什麼不把答案分組成某種結果類型的記錄? – tadman

+0

當然,這樣做! –

+0

我在Ruby on Rails中有一個應用程序,我需要讀取用戶發送的某個TXT文件,在發送文件後,文件的數據將顯示給用戶,以便它確認文件是否爲正確,如果是,則保存它,該文件包含的字母是測試的答案,每個字母代表一個問題,例如: 「EEDEBACABDBBADAADEADEAB」 也就是說,「1 => E,2 = > E,3 => D,4 => E「 此文件將通過表格發送.txt格式,我希望它已被更好地理解 –

回答

0

這聽起來像你真正想要做的是擴大了文本文件導入的記錄是這樣的:

File.read(params[:file].path).chomp.chars.each_with_index do |answer, i| 
    Answer.create(question: i, answer: answer) 
end 

哪裏params[:file]的名稱是「文件」下上傳的文件,並回答是模型成這些插入。

通常在Rails中你有一個關係結構,如:

class Quiz < ActiveRecord::Base 
    has_many :answer_sets 
    has_many :questions 
    has_many :answers, through: :answer_sets 
end 

class Question < ActiveRecord::Base 
    belongs_to :quiz 
    has_many :answers 
end 

class AnswerSet < ActiveRecord::Base 
    belongs_to :quiz 
    has_many :answers 
end 

class Answer < ActiveRecord::Base 
    belongs_to :answer_set 
    belongs_to :quiz 
end 

如果這允許多個測驗,每個有多個問題,然後一系列答案的組,每組包含多個答案。

+0

幾乎是這樣,但首先,我需要在頁面中顯示結果,然後,如果用戶授權,他會保存結果 –

+0

您可能只想保存它們,但尚未設置一些「授權」標誌。如果他們批准,請翻轉旗幟。如果沒有,請稍後清除記錄。將這些數據從一個請求串聯到另一個請求,而不保存它是凌亂的。 – tadman

+0

我會給它一個鏡頭,謝謝! –