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.
