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