检索提交的"答案"?红宝石

时间:2014-12-19 03:55:48

标签: ruby-on-rails ruby activerecord controller

我有一个包含以下表格的应用: 课程, 练习, 答案,和 用户(使用Devise)。

class Answer < ActiveRecord::Base
belongs_to :exercise
belongs_to :user
end

每个练习都有一个html答案框和一个&#34;提交&#34;按钮,但我想知道用户通过每个练习中的答案提交的数据是否在某处或者我可以做些什么来检索它?

我需要做些什么才能将答案保存在可以审核的地方,甚至可能通过电子邮件发送?

我知道当你点击提交时通过电子邮件发送的html表单,但这会表明哪个用户提交了答案吗?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

虽然我不明白你的话。 使用session可能会有所帮助。

答案 1 :(得分:0)

对于您当前的情况,您的答案表中必须有exercise_iduser_id列。

当您提交表单以供回答时,您必须出现exercise_id。当你表现出运动来回答时,你很容易从控制器那里得到它。

现在对于user_id,如果您使用的是设计,那么在登录后的每个应用程序位置都会获得current_user对象。

所以为了保存答案你必须写下这样的东西:

current_user.answers.create(params_answer)

params_answer应该是这样的:

def params_answer
  params.require(:answer).permit(:exercise_id, :answer_text, :xxxx, :yyyy)
end

获得当前用户提交的任何qustion的答案:

curren_user.answers

获得特定运动的答案

curren_user.answers.where(:exercise_id, '##')

有关详情,请浏览http://guides.rubyonrails.org/association_basics.htmlhttp://guides.rubyonrails.org/active_record_querying.html