Ruby on rails RubyonRails网站问答

Ruby on rails RubyonRails网站问答,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在开发问答应用程序,其中用户尝试回答问题,我希望定义一个自定义方法,而不是在控制器方法中进行编码,创建一个单独的方法,可以调用该方法来检查用户根据答案数据库表提交的答案,其中问题id和用户输入与答案数据库相同 谁能告诉我哪里出了问题,或者有没有更好的方法来检查用户提交的输入与数据库,然后将提交输入数据库 提交表格 <%= form_for :submission :controller => :submissions :action => 'check_answer' do

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

谁能告诉我哪里出了问题,或者有没有更好的方法来检查用户提交的输入与数据库,然后将提交输入数据库

提交表格

<%= form_for :submission :controller => :submissions :action => 'check_answer' do |f| %>
<%= f.text_field :contnet, :value => '' %>
<%= f.submit 'Submit Answer' %>
<% 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
 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
问题表:

  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
 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

您可以在答案上有一个名为“correct”的布尔字段,并标记哪些答案是正确的,这样您就可以知道何时提交答案,而不是运行检查。此解决方案基于用户选择呈现给他们的答案的假设。另外,请注意,您的提交表单中似乎有输入错误,它显示的是“content”而不是“content”。你好@RockwellRice,感谢您的回复,用户将输入他们自己的答案,并将呈现给他们,我想通过使用find_by或where,如果答案存在,它将返回布尔值,true/false?不使用where函数而不是find_by会更好吗?