0

現在、一連の質問を表示しています。それぞれに複数の選択肢があります。ユーザーが回答として選択肢を選択できるようにしようとしているため、これをデータベースに保存して結果を表示する必要があります。

これは私の現在の見解からの抜粋です:

<p><%= question.question %></p>
        <% question.choices.each do |item| %>

      <li><%= item.choice %></li>
      <% end %> 

ここに私の3つのコントローラーがあります:

class Answer < ActiveRecord::Base
 attr_accessible :choice_id, :question_id
  belongs_to :choice 
  has_one :question, :through => :choice 
  end

 class Choice < ActiveRecord::Base
 attr_accessible :choice, :question_id, :answers_attributes
  belongs_to :question
  has_many :answers, :dependent => :destroy
   accepts_nested_attributes_for :answers
  end

  class Question < ActiveRecord::Base
   attr_accessible :question, :choices_attributes
    has_many :choices, :dependent => :destroy
    accepts_nested_attributes_for :choices, :reject_if => lambda { |a| a[:choice].blank? }
    end

ユーザーが送信、作成、回答できるようにビューを修正するにはどうすればよいですか? 回答を作成するには、questions_controller に何を挿入する必要がありますか? そして、助けていただければ幸いです。必要に応じて、さらに情報を提供できます。

どうもありがとう

ベン

4

1 に答える 1

0

提供する情報量が少ないため、回答の基本以上のものを提供することは困難です。したがって、一般的には、次のことを行う必要があります。

  1. Choice ID を (その一部として) パラメータとして受け入れ、それを使用して Answer を作成するコントローラアクションを記述します。

  2. そのアクションを指すルートが routes.rb ファイルにあることを確認してください。REST 標準はおそらく への POST リクエスト/answersですが、それがアプリの構造に適合する場合と適合しない場合があります。

  3. ビューに何かを追加します。おそらく、そのルートにリクエストを送信するリンクまたはフォームです。

于 2013-03-25T02:51:59.307 に答える