2017-05-08 10 views
0

Ruby on Railsにアプリケーションがあり、ファイルを送信した後、ユーザーが送信する特定のTXTファイルを読み込む必要がありますファイルが正しいかどうかを確認するようにユーザーに表示されます。はいの場合は、保存します。ファイルにはテストの回答であり、各文字は問題を表します。例:レールでtxtファイルを読み取って表示後に保存する方法

ある "EEDEBACABDBBADAADEADEAB"

、 "1 => E、2 => E、3 => D、4 => E"

が、すべての文字がdislpとして異なる列になければなりませんこのファイルには、フォームを.txt形式で送信されます

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

を下にレイアウトさ、私はそれがより良い

の考えを理解されている願っていますか?

+0

私はその文字列とあなたが記述している他のものとの間の関係については不明です。あなたの質問を編集してより具体的な例を挙げられますか?これらの 'id'値はどこから来ますか?回答をグループ化して何らかの結果型レコードにしないのはなぜですか? – tadman

+0

もちろん、やって! –

+0

私はRuby on Railsにアプリケーションを持っており、ユーザーが送信する特定のTXTファイルを読む必要があります。ファイルを送信した後、そのファイルのデータがユーザーに表示され、そのファイルが正しい場合ははい、次に保存する場合は、ファイルにはテストの回答である文字が含まれており、各文字は問題を表しています。例: "EEDEBACABDBBADAADEAB" つまり、 "1 => E、2 = > E、3 => D、4 => E " このファイルはフォームを通じて.txt形式で送信されます。私はそれがよりよく理解されたことを願っています –

答えて

0

あなたが本当にやりたいことが、このようなレコードにテキストファイルを展開あるようですね:

params[:file]は名前「ファイル」の下にアップロードされたファイルである、と回答へのモデルです
File.read(params[:file].path).chomp.chars.each_with_index do |answer, i| 
    Answer.create(question: i, answer: answer) 
end 

これらは挿入されます。複数の質問で、これは複数のクイズを可能

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 

、それぞれ、その後、答えのシリーズは、それぞれが複数の回答を設定します。

は通常Railsの中で次のような関係構造を持っていると思います。

+0

ほとんどの場合、最初は結果をページに表示してから、ユーザーが承認した場合は結果を保存します –

+0

とにかく保存することもできますが、まだ許可されていないフラグが設定されています。彼らが承認したら、フラグを反転します。そうでない場合は、後でレコードをパージします。このデータを保存せずに1つのリクエストから次のリクエストにストリングするのは面倒です。 – tadman

+0

私はそれをショット、感謝を与えるよ! –

関連する問題