问题与解答Ruby on Rails网站

时间:2017-01-11 14:58:18

标签: ruby-on-rails ruby

我正在开发问题和答案应用程序,用户试图回答问题,我希望定义一个自定义方法而不是在控制器方法中进行编码,创建一个单独的方法,可以调用以检查答案用户根据答案数据库表提交,其中question_id和user_input与Answers数据库相同。

任何人都可以指导我出错的地方,或者有更好的方法来检查用户提交的数据库输入,然后将提交输入到数据库中。

提交表单

<%= form_for :submission :controller => :submissions :action => 'check_answer' do |f| %>
<%= f.text_field :contnet, :value => '' %>
<%= f.submit 'Submit Answer' %>
<% end %>

Submissions_controller

def check_answer
  answer = Answer.find_by(question_id: params[:question_id][:content])
  if answer.present?
    #insert into submissions table, display correct and add to scoreboard
  else
    redirect_to competitions_path
  end
end

答案表:

  create_table "answers", force: :cascade do |t|
    t.string   "content"
    t.integer  "question_id"
    t.datetime "created_at",  null: false
    t.datetime "updated_at",  null: false
  end

Question_table:

 create_table "members_questions", force: :cascade do |t|
    t.string   "title"
    t.integer  "category_id"
    t.integer  "point_id"
    t.integer  "event_id"
    t.datetime "created_at",         null: false
    t.datetime "updated_at",         null: false
    t.string   "image_file_name"
    t.string   "image_content_type"
    t.integer  "image_file_size"
    t.datetime "image_updated_at"
    t.string   "file_file_name"
    t.string   "file_content_type"
    t.integer  "file_file_size"
    t.datetime "file_updated_at"
  end

0 个答案:

没有答案