Guest User

Untitled

a guest
May 27th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. ## with [] instead of {} produces this error
  2.  
  3. ActiveRecord::StatementInvalid: SQLite3::SQLException: near "(": syntax error: SELECT * FROM "lessons" WHERE ("lessons".course_id = 20 AND (id IS NOT (NULL,12,12,13,14,15))) ORDER BY position, position LIMIT 1
  4. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:147:in `log'
  5. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/sqlite_adapter.rb:132:in `execute'
  6. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/sqlite_adapter.rb:360:in `catch_schema_changes'
  7. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/sqlite_adapter.rb:132:in `execute'
  8. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/sqlite_adapter.rb:263:in `select'
  9. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `select_all_without_query_cache'
  10. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:61:in `select_all'
  11. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:582:in `find_by_sql'
  12. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1341:in `find_every'
  13. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1303:in `find_initial'
  14. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:534:in `find'
  15. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_collection.rb:47:in `find'
  16. from C:/Users/Mel/Projects/BrainBank/app/models/enrollment.rb:33:in `next_lesson'
  17. from (irb):37
  18.  
  19.  
  20. ## inside console
  21.  
  22. >> @e = Enrollment.find(210)
  23. => #<Enrollment id: 210, user_id: 23, course_id: 20, status: "started", created_at: "2008-11-21 11:52:22", updated_at: "2008-11-21 11:52:23", email_delivery: nil>
  24. >> @e.next_lesson
  25. ActiveRecord::PreparedStatementInvalid: wrong number of bind variables (1 for 2) in: "lessons"."id IS NOT (?)" IN (?)
  26. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2090:in `raise_if_bind_arity_mismatch'
  27. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2050:in `replace_bind_variables'
  28. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2020:in `sanitize_sql_hash_for_conditions'
  29. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1939:in `sanitize_sql'
  30. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:143:in `send'
  31. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:143:in `sanitize_sql'
  32. from C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_collection.rb:28:in `find'
  33. from C:/Users/Mel/Projects/BrainBank/app/models/enrollment.rb:33:in `next_lesson'
  34. from (irb):34
  35.  
  36.  
  37. ## models/enrollment.rb
  38.  
  39. class Enrollment < ActiveRecord::Base
  40. belongs_to :course
  41. has_many :lesson_completions
  42.  
  43. def next_lesson
  44. completed = []
  45. self.lesson_completions.each do |c|
  46. completed << c.lesson
  47. end
  48. self.course.lessons.find(:first, :conditions => {"id IS NOT (?)", completed}, :order => "position")
  49. end
  50. end
  51.  
  52. ## models/course.rb
  53.  
  54. class Course < ActiveRecord::Base
  55. has_many :lessons, :dependent => :destroy, :order => :position
  56. end
Add Comment
Please, Sign In to add comment