binarylogic / searchlogic

Searchlogic provides object based searching, common named scopes, and other useful tools.
http://rdoc.info/projects/binarylogic/searchlogic
MIT License
1.39k stars 133 forks source link

Polymorphic 'or' Chaining #94

Open tispratik opened 14 years ago

tispratik commented 14 years ago

Following works: @project.alerts.alertable_article_type_title_like_any("Illum") @project.alerts.alertable_task_type_name_like_any("Illum")

Following Dosent: @project.alerts.alertable_article_type_title_or_alertable_task_type_name_like_any("Illum")

tispratik commented 14 years ago

@project.alerts.alertable_article_type_title_or_alertable_task_type_name_like_any("Illum") Alert Columns (4.0ms) SHOW FIELDS FROM alerts Task Columns (5.0ms) SHOW FIELDS FROM tasks NameError: uninitialized constant Alert::Alertable from c:/rubyonrails/rails_apps/BS/vendor/rails/activesupport/lib/active_support/dependencies.rb:105:in const_missing' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/base.rb:2199:incompute_type' from c:/rubyonrails/rails_apps/BS/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:11:in silence_warnings' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/base.rb:2195:incompute_type' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/reflection.rb:156:in send' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/reflection.rb:156:inklass' from c:/rubyonrails/rails_apps/BS/vendor/gems/searchlogic-2.4.12/lib/searchlogic/named_scopes/or_conditions.rb:108:in full_association_path' from c:/rubyonrails/rails_apps/BS/vendor/gems/searchlogic-2.4.12/lib/searchlogic/named_scopes/or_conditions.rb:81:ininterpolate_or_conditions' from c:/rubyonrails/rails_apps/BS/vendor/gems/searchlogic-2.4.12/lib/searchlogic/named_scopes/or_conditions.rb:75:in each' from c:/rubyonrails/rails_apps/BS/vendor/gems/searchlogic-2.4.12/lib/searchlogic/named_scopes/or_conditions.rb:75:ininterpolate_or_conditions' from c:/rubyonrails/rails_apps/BS/vendor/gems/searchlogic-2.4.12/lib/searchlogic/named_scopes/or_conditions.rb:36:in or_conditions' from c:/rubyonrails/rails_apps/BS/vendor/gems/searchlogic-2.4.12/lib/searchlogic/named_scopes/or_conditions.rb:23:inmethod_missing' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/base.rb:1959:in method_missing_without_paginate' from c:/rubyonrails/rails_apps/BS/vendor/gems/will_paginate-2.3.12/lib/will_paginate/finder.rb:170:inmethod_missing' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:380:in send' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:380:inmethod_missing_without_pagi nate' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/base.rb:2143:in with_scope' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:206:insend' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:206:in with_scope' from c:/rubyonrails/rails_apps/BS/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:376:inmethod_missing_without_pagi nate' from c:/rubyonrails/rails_apps/BS/vendor/gems/will_paginate-2.3.12/lib/will_paginate/finder.rb:170:in method_missing' from c:/rubyonrails/rails_apps/BS/vendor/gems/thinking-sphinx-1.3.16/lib/thinking_sphinx/active_record/has_many_association.rb:19:inmethod_missing' from (irb):2>>

pstuteville commented 14 years ago

I'm running into this same issue, cannot use 'or' with polymorphic associations

stevehodges commented 12 years ago

I realize this is two years old, but I'm running into the same issue - getting the NameError: uninitialized constant Foo::Bar

tispratik commented 12 years ago

From my experience, I recommend sticking with whatever Rails provides. It is painful to upgrade Rails when using such custom gems.