You seem to be searching on User, yet it’s Location that has the latitude and 
longitude values - so the search call in your DistanceController will not work.

But I can see no reason why your User.search call in SearchesController#index 
wouldn’t work, given it’s just passing a parameter through. Have you run 
ts:rebuild since adding the index for the User model?

— 
Pat

On 23 Nov 2013, at 6:40 am, C Wilson <[email protected]> wrote:

> I did the has and belongs to since what I was using before didn't seem to 
> work. I now changed it back to `belongs_to :location`. Wiith your code and 
> small change it now works when indexing
> 
> indexing index 'location_core'...
> collected 42522 docs, 0.4 MB
> sorted 0.1 Mhits, 100.0% done
> total 42522 docs, 362463 bytes
> total 0.696 sec, 520685 bytes/sec, 61083.68 docs/sec
> indexing index 'user_core'...
> collected 3 docs, 0.0 MB
> sorted 0.0 Mhits, 100.0% done
> total 3 docs, 233 bytes
> total 0.029 sec, 7976 bytes/sec, 102.70 docs/sec
> total 6 reads, 0.001 sec, 230.3 kb/call avg, 0.1 msec/call avg
> total 19 writes, 0.003 sec, 164.8 kb/call avg, 0.1 msec/call avg
> 
> However when previously TS results worked, now since I have the geo searching 
> integrated the search page no longer works. I get a 
> ThinkingSphinx::NoIndicesError. It's pointing to the show.html page.
> 
> https://gist.github.com/pwz2k/7605599
> 
> With your assistance. This is how all my code looks now:
>  
> ThinkingSphinx::Index.define :location, :with => :active_record do 
>   indexes city 
>   
>   has "RADIANS(locations.latitude)",  :as => :latitude,  :type => :float
>   has "RADIANS(locations.longitude)", :as => :longitude, :type => :float
> end
> ThinkingSphinx::Index.define :user, :with => :active_record do 
>   indexes name, :as => :user, :sortable => true 
>   indexes religion, zip_code, about_me, career, sexuality, children, 
> user_smoke, user_drink, gender, ethnicity, education 
>   has created_at, updated_at 
>   has id, :as => :locations_ids 
> end 
> 
> 
> user.rb:
>   belongs_to :location
>   attr_accessible :name
> 
> location.rb:
> class Location < ActiveRecord::Base  
>   attr_accessible :city, :latitude, :longitude, :zipcode
> end
>  
> Distance controller:
> class DistanceController < ApplicationController
>   def search
>     @latitude = params[:latitude].to_f * Math::PI / 180
>     @longitude = params[:longitude].to_f * Math::PI / 180
>     @users = User.search :geo => [@latitude, @longitude], :with => {:geodist 
> => 0.0..200_000.0}, :order => "geodist ASC"
>   end
>   end
> 
> Searches controller:
>  def new
>     @search = Search.new
>   end
>   def create
>     @search = Search.new(params[:search])
>     if @search.save
>       redirect_to @search
>     else
>       render 'new'
>     end
>   end
>   def show
>     @search = Search.find(params[:id])
>     @users = @search.users
>   end
>     
>     def index
>       @users = User.search(params[:search])
>      end
> end
> 
> /views/searches/show.html.rb:
> 
> <h1>Search Results</h1>
> <%= render @users.to_a %>
>  
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to