#ruby-on-rails-3 #geokit
#ruby-on-rails-3 #geokit
Вопрос:
Структура моей базы данных состоит из хранилища, книги, BookStore и адреса, как показано ниже.
class Store < ActiveRecord::Base
has_many :book_stores
has_many :books, :through => :book_stores
has_many :addresses
acts_as_mappable :through => :addresses
end
class Address < ActiveRecord::Base
belongs_to :store
acts_as_mappable
end
class Book < ActiveRecord::Base
has_many :book_stores
has_many :stores, :through => :book_stores
end
# Join table for many to many relationship between books and stores
class BookStore < ActiveRecord::Base
belongs_to :book
belongs_to :store
end
Теперь, учитывая isbn книги (который находится в модели книги) и магазин, мне нужно найти другие магазины в радиусе 5 миль, в которых есть эта книга.
Я осмотрелся, но не совсем уверен, как использовать модели Book и BookStore с моим запросом GeoKit на что-то вроде Store.within(5, :origin => @storeaddr).
Я нахожусь на Rails 3.0.5 и использую gem ‘geokit-rails3’
Ценю любые мысли / указания.
-S
Комментарии:
1. Разобрался — Store.joins(:книги , :адреса). где(«книги. isbn = ‘9780316346627’»). внутри(5, :источник => @addr)