1つのデータベース列に一意のプレーヤIDを持つ複数の質問と回答を保存します。レールを使用して1つのデータベース列に複数のフィールドを保存する方法
データベース列player_answerは、次のようになります。
player_id |質問|答え
1 |インド|ニューデリー
1 |アメリカ|ワシントンD.C.
1 |イギリス|ロンドン
などです。
これは
<%= form_for(@player_answer) do |f| %>
<% if @player_answer.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@player_answer.errors.count, "error") %> prohibited this player_answer from being saved:</h2>
<ul>
<% @player_answer.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :player_id %><br />
<%= f.text_field :player_id, :readonly => true, :value => Player.find(params[:playerid]).id %>
<!--<#%= f.text_field :player_id %>-->
</div>
<% (1..10).each do |i| puts i %>
<table>
<tr>
<td>
<div class="field">
<%= f.label :question_id %><br />
<%= f.text_field :question_id %>
</div>
</td>
<td>
<div class="field">
<%= f.label :answer %><br />
<%= f.text_field :answer, :readonly => true, :value => params[:playeranswerid].to_i %>
</div>
</td>
</tr>
</table>
<% end %>
<div class="field">
<%= f.label :answer_after_self_scoring %><br />
<%= f.text_field :answer_after_self_scoring %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
私/views/player_answers/_form.html.erbであり、ここで クラスPlayerAnswersController < ApplicationControllerに #GET/player_answers #GET/player_answersコード - 私のplayer_answers_controller.rbファイルです。 XML DEFインデックス@player_answers = PlayerAnswer.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @player_answers }
end
端
#GET/player_answers/1 #GET /player_answers/1.xml DEF示し@player_answer = PlayerAnswer.find(paramsは[:ID])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @player_answer }
end
端
#GET/player_answers /新しい #のGETの/player_answers/new.xml デフ新しい @player_answer = PlayerAnswer.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @player_answer }
end
GET/player_answers/1 /編集 端
位DEF @player_answer = PlayerAnswer.find(paramsは[:ID])を編集 端
#1 POST/player_answers #のPOSTの/player_answers.xmlを DEF @player_answer = PlayerAnswer.new([:player_answer]のparams)を作成
respond_to do |format|
if @player_answer.save
format.html { redirect_to(@player_answer, :notice => 'Player answer was successfully created.') }
format.xml { render :xml => @player_answer, :status => :created, :location => @player_answer }
else
format.html { render :action => "new" }
format.xml { render :xml => @player_answer.errors, :status => :unprocessable_entity }
end
end
端
#PUT/player_answers/1 #のPUTの/player_answers/1.xml DEF @player_answer = PlayerAnswer.find(paramsは[:ID])を更新
respond_to do |format|
if @player_answer.update_attributes(params[:player_answer])
format.html { redirect_to(@player_answer, :notice => 'Player answer was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @player_answer.errors, :status => :unprocessable_entity }
end
end
端
位/ DELETE player_answers/1 #DELETE /player_answers/1.xml def destroy @player_answer = PlayerAnswer。 エンド
は私が先に行くと、この問題を解決する方法を教えてください エンド
respond_to do |format|
format.html { redirect_to(player_answers_url) }
format.xml { head :ok }
end
player_answer.destroy @:([ID]のparams)を見つけます。
p.s.私はレールを使い始めたばかりです。これはおそらく私が生きている最初のプロジェクトです。助けてください!!
申し訳ありませんが長い質問です。 – Samir