Ruby on rails 使用rails提交两个分别有效的值时对无效输入进行sql测试

Ruby on rails 使用rails提交两个分别有效的值时对无效输入进行sql测试,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我需要验证表单的输入。问题在于,输入可能单独有效,但不相关 例如,我有一个表单,其中包含一个“课程id”字段和一个学生提交以保留空间的“讲师”。如何测试输入为1讲师a提供的课程id和2指定讲师B的表格的无效情况。只有讲师a教授该特定课程。课程id、讲师a和讲师b都在数据库中。但学生提交的课程和讲师不相关,即不匹配 以下是我尝试过的: active_course = @class.course_id active_instructor = @class.instructor_name 还

我需要验证表单的输入。问题在于,输入可能单独有效,但不相关

例如,我有一个表单,其中包含一个“课程id”字段和一个学生提交以保留空间的“讲师”。如何测试输入为1讲师a提供的课程id和2指定讲师B的表格的无效情况。只有讲师a教授该特定课程。课程id、讲师a和讲师b都在数据库中。但学生提交的课程和讲师不相关,即不匹配

以下是我尝试过的:

  active_course = @class.course_id
  active_instructor = @class.instructor_name
还有不起作用的测试:

Class.where(:course_id == active_course).select("instructor_id")
!= Class.where(:instructor_name == active_instructor).select("instructor_id")
所以,我想做的是确定课程的讲师,并确定该讲师是否在教授课程。我的前半部分测试似乎有效。我很难理解的是讲师姓名和他/她的id之间的关系。不幸的是,我不能仅仅将输入字段更改为讲师的id


提前感谢您的帮助。

保留一个下拉菜单,其中显示讲师姓名,并保留讲师id作为其值,这将使您的案例更加容易。如果两者不相关,是否返回错误?讲师不教授该课程您可以在讲师和他们在rails模型中教授的课程之间创建关联吗?Q1-是的,如果未更新,我希望出现错误Q2-该关系已经存在。问题在于,这些值都是有效的,但彼此相关。我如何测试错误,特别是有效的课堂,有效的讲师,但是讲师没有教授所要求的课程。也就是说,学生填错了表格。