Hi Sjoerd

You're not doing anything wrong, and you're right, this is not ideal.

I've just patched TS so fields and attributes from polymorphic associations 
where there is no data are now ignored when generating the configuration file. 
So while you'll still have to set the type explicitly, things should work after 
that.

This isn't bundled into a new gem release yet, but will be soon.

Cheers

-- 
Pat

On 24/11/2010, at 4:03 AM, sjoerd.a wrote:

> Hi,
> 
> I have a news item model that belongs to other 'newsable' models
> polymorphicly and I want to index the 'organization_id' attribute of
> this polymorphic association. When there's at least one news item for
> each of the possible newsable-types in the news_items table,
> configuring and indexing works all well. However, when the news_items
> table is empty TS cannot determine the models that are associated as a
> 'newsable', and it seems it therefor treats 'organization_id' as it
> where to be a column in the news_items table.
> 
> This is the model:
> 
> class NewsItem < ActiveRecord::Base
>    belongs_to :newsable, :polymorphic => true
>    define_index do
>        has newsable.organization_id, :as => :organization_id
>    end
> end
> 
> When executing 'rake ts:conf' with some news items in the table
> there's no problem, but when it's empty it says:
> 
> Cannot automatically map attribute organization_id in NewsItem to an
> equivalent Sphinx type (integer, float, boolean, datetime, string as
> ordinal).
> You could try to explicitly convert the column's value in your
> define_index
> block:
>  has "CAST(column AS INT)", :type => :integer, :as => :column
> 
> I can get around this by adding the type option:
> 
>    has newsable.organization_id, :as => :organization_id, :type
> => :integer
> 
> But if I then run 'rake ts:in' it says there were errors for the news
> item index:
> 
> ERROR: index 'news_item_core': sql_range_query: Unknown column
> 'news_items.organization_id' in 'field list'
> 
> In production this might not be a very common scenario, but in
> development mode it could be, and especially in test mode, when the
> database is cleared before every test this poses a real problem.
> 
> Am I doing something wrong or what am I missing? Hope someone can help
> me out.
> 
> Cheers,
> Sjoerd
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/thinking-sphinx?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en.

Reply via email to