It's not ideal, you're right, but you're dealing with two sets of  
class methods, one relying on the other. Ruby has to load them in  
*some* order :)

Good to know it was a simple fix.

-- 
Pat

On 26/05/2009, at 9:31 AM, phil wrote:

>
> bollocks! that worked.
>
> That is not very Rails in my opinion, but at least it is a solution.
>
> Thanks... told you it was a stupid problem (but in this case I don't
> necessarily think I am the one being stupid!)
>
> On May 26, 6:26 pm, James Healy <[email protected]> wrote:
>> I'm not sure if this matters, but in your first email you're defining
>> your associations *after* your define_index block.
>>
>> Are they like that in your project as well? If so, what happens if  
>> you
>> move them above it?
>>
>> James
>>
>> phil wrote:
>>
>>> I actually did this with a brand new, clean rails project and got
>>> similar results:
>>
>>> class Article < ActiveRecord::Base
>>>   define_index do
>>>     indexes subject, :sortable => true
>>>     indexes content
>>>     indexes author.first_name, :as => :author_fname, :sortable =>  
>>> true
>>
>>>     has author_id, created_at, updated_at
>>>   end
>>> end
>>
>>>   sql_query = SELECT `articles`.`id` * 1 + 0 AS `id` , CAST
>>> (`articles`.`subject` AS CHAR) AS `subject`,  
>>> CAST(`articles`.`content`
>>> AS CHAR) AS `content`, CAST(`articles`.`first_name` AS CHAR) AS
>>> `author_fname`, `articles`.`id` AS `sphinx_internal_id`,  
>>> 3448190970 AS
>>> `class_crc`, '3448190970' AS `subclass_crcs`, 0 AS `sphinx_deleted`,
>>> IFNULL(`articles`.`subject`, '') AS `subject_sort`, IFNULL
>>> (`articles`.`first_name`, '') AS `author_fname_sort`,
>>> `articles`.`author_id` AS `author_id`, UNIX_TIMESTAMP
>>> (`articles`.`created_at`) AS `created_at`, UNIX_TIMESTAMP
>>> (`articles`.`updated_at`) AS `updated_at` FROM `articles`    WHERE
>>> `articles`.`id` >= $start AND `articles`.`id` <= $end GROUP BY
>>> `articles`.`id`  ORDER BY NULL
>>
>>> articles`.`first_name` is wrong. It should be author.first_name
>>
>>> I am using Thinking Sphinx v1.1.17
>>
>>> On May 26, 4:52 pm, phil <[email protected]> wrote:
>>>> I am trying to switch to Thinking Sphinx from Ultrasphinx and  
>>>> having
>>>> some very basic problems.
>>
>>>> I have a class:
>>
>>>> class Film < ActiveRecord::Base
>>>>   define_index do
>>>>     indexes :title, :as => :title_en, :sortable => true
>>>>     indexes title_es(:title), :as => :spanish_title
>>>>     indexes synopses.synopsis, :as => :synopsis
>>
>>>>     has created_at, updated_at
>>>>   end
>>
>>>> has_many :synopses
>>>> has_one :title_es, :class_name => "TranslatedTitle", :conditions =>
>>>> "language = 'es'"
>>>> end
>>
>>>> When I run rake thinking_sphinx:configure I get a conf file that  
>>>> seems
>>>> just plain wrong!
>>
>>>> Here is the sql query:
>>
>>>>   sql_query = SELECT `films`.`id` * 1 + 0 AS `id` , CAST
>>>> (`films`.`title` AS CHAR) AS `title_en`, CAST(`films`.`title` AS  
>>>> CHAR)
>>>> AS `spanish_title`, CAST(`films`.`synopsis` AS CHAR) AS `synopsis`,
>>>> `films`.`id` AS `sphinx_internal_id`, 578162972 AS `class_crc`,
>>>> '578162972' AS `subclass_crcs`, 0 AS `sphinx_deleted`, IFNULL
>>>> (`films`.`title`, '') AS `title_en_sort`, UNIX_TIMESTAMP
>>>> (`films`.`created_at`) AS `created_at`, UNIX_TIMESTAMP
>>>> (`films`.`updated_at`) AS `updated_at` FROM `films`    WHERE
>>>> `films`.`id` >= $start AND `films`.`id` <= $end GROUP BY  
>>>> `films`.`id`
>>>> ORDER BY NULL
>>
>>>> it is not looking at any associated classes, but thinking that the
>>>> fields are on Film itself!
>>
>>>> This conf file, obviously, doesn't run against sphinx as there is  
>>>> no
>>>> synopsis field and it gives me duplicate titles.
>>
>>>> I am sure I am doing something very basic and stupid, but right  
>>>> now I
>>>> can't see what!
> >


--~--~---------~--~----~------------~-------~--~----~
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