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. 编写一个控制器动作,它接受一个选项 ID 作为(部分)它的参数,并使用它来创建一个答案。

  2. 确保您的 routes.rb 文件中有一条指向该操作的路线。REST 标准可能是对 的 POST 请求/answers,但这可能适合也可能不适合您的应用程序的结构。

  3. 在您的视图中添加一些东西 - 一个链接或一个表单,可能会向该路由发送请求。

于 2013-03-25T02:51:59.307 回答