Closed Loremaster closed 10 years ago
I've made the research and I found that this error is caused by an index for polymorphic association:
ThinkingSphinx::Index.define :service, with: :active_record do
userable_models = %w(LegalEntity Individual)
polymorphs owner.userable, to: userable_models
indexes owner.userable.company_name, as: :le_company_name # This line causes trouble
end
Here I also want to mention that field company_name
exists only in LegalEntity
model. Is it broken? Or do I need to rewrite it somehow?
Hi Serj
Thanks for all of these details. I think this is a bug with Rails 4.1, Thinking Sphinx, and polymorphic associations. I'll try to work on a fix soon.
Associations in Rails 4.1 have changed a lot though, so it may not be a quick thing to fix.
Thank you, Pat! Hope to see the fix soon!
Just wanted to chime in, I encountered the same issue today with indexing into a polymorphic column. The worst part with trying to get a polymorphic relation indexed was having almost no documentation to work off of - I'd write it myself if I understood more of it, but because of this bug I haven't even actually used this feature yet.
I'd also like to get confirmation on this part:
Here I also want to mention that field
company_name
exists only inLegalEntity
model. Is it broken? Or do I need to rewrite it somehow?
Any updates about fixing this issue?
I've gotten half way to fixing it... hoping to have some time in the next 24 hours that'll get the last of it figured out. The massive changes under the hood in Rails 4.1, associations and SQL generation are certainly a handful.
Wow! I am happy to hear that you are working on that!! :+1:
Urgh, took a while, but I got there. Try the following:
gem 'thinking-sphinx', '~> 3.1.1',
:git => 'git://github.com/pat/thinking-sphinx.git',
:branch => 'develop',
:ref => 'c8f549f689'
And then run bundle update joiner
to ensure you're using 0.3.1 of joiner (as that is part of the relevant fix). This should fix polymorphic associations with Rails 4.1. Sorry it took so long!
Looks like it's working for me. Thanks!
Great! Closing this, but if anyone has further comments/queries, do let me know.
I started to upgrade app to
Rails 4.1
, it'sRails 4.0
now.Some data:
pg 0.17.1 - it's my main database
I also have reinstalled thinking-sphinx gem after
Rails 4.1
upgrade (to enable proper version ofjoiner
, which is 3.0 now). But now I have the problem. This problems appears (I don't have this issue onRails 4.0
), for example, when I try to rebuild index:Here is my Gemfile:
thinking_sphinx.yml
Any ideas how to fix that? We can't make the upgrade to Rails 4.1, because our project uses TS very heavy. I'm ready to give any additional information that you may need!