我正在开发问题和答案应用程序,用户试图回答问题,我希望定义一个自定义方法而不是在控制器方法中进行编码,创建一个单独的方法,可以调用以检查答案用户根据答案数据库表提交,其中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