COURSE IN
特定の値のセットなど、属性の値を持つテーブル STUDENTS のすべての行を表示しようとしています'MS', 'PhD'
。
を使用して、students_controller.rb ファイルの値を取得しますparams
。仕事をするために使用してActive Recordクエリを実行しようとしましたwhere
:
@all_courses = ['MS', 'PhD', 'BA', 'MSc']
@students = Student.where("course IN :courses" , {:courses => params.has_key?(:courses) ? params[:courses].keys : @all_courses})
しかし、次のエラーが表示されます。
SQLite3::SQLException: near ",": syntax error: SELECT "students".* FROM "students" WHERE (course IN 'MS', 'PhD', 'BA', 'MSc')
エラーは ; がないことが原因である可能性があると思います。Active Recordによって生成されたSQLクエリの最後にありますが、最後にそのセミコロンを取得するために何もできません.