1

我有以下 2 个模型

class Watersporttyp < ActiveRecord::Base
  attr_accessible :name
  has_many :activities
  has_many :watersportspots, through: :activities          
 end

class Watersportspot < ActiveRecord::Base
  attr_accessible :watersporttyp_ids, :latitude, :longitude, address
  belongs_to :user
  has_many :activities
  has_many :watersporttyps, through: :activities
  reverse_geocoded_by :latitude, :longitude      
end

在我看来,我有这个搜索表

 <%= form_tag watersportspots_path, :method => 'get' do %>
    <div class="row collapse">

    <div class="small-10 columns">
      <%= text_field_tag :search, params[:search] %>
    </div>
    <div class="small-2 columns">
      <%= submit_tag "Search", :name => nil, :class => "button prefix" %>
    </div>

  </div>
   <div class="row">
    <div class="small-12 columns">
    <% Watersporttyp.all.each do |watersporttyp| %>
      <%= check_box_tag "typs[]", watersporttyp.id %>
      <%= watersporttyp.name %><br>
    <% end %>
    </div>
  </div>
  <% end %>

我的问题是如何设置我的控制器通过使用复选框“类型 []”中的属性过滤附近的位置来执行搜索

我在我的控制器中尝试了这个,但它不起作用

@watersportspots = Watersportspot.near(params[:search], 50, :order => :distance, :units => :km).join(:watersporttyp).where(:watersporttyp => params[:typs])

我正在使用 geocoder gem 进行地理编码,我的系统正在使用 ruby​​ 1.9.3 和 Rails 3.2

4

0 回答 0