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

私の質問は、チェックボックス「types []」の属性で近くの場所をフィルタリングして検索を実行するようにコントローラーを設定する方法です。

コントローラーでこれを試しましたが、機能しません

@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