0

世界中のさまざまな都市にあるさまざまなクラブを一覧表示するアプリがあるとします。clubs_controller.rb の index アクションで、city パラメーターが指定されていない限り、すべてのクラブを返します。

def index
   if params[:city] 
        @clubs = Club.where(:city_id => params[:city])    
   else
        @clubs = Club.all
    end 

end

それを機能させるために、ユーザーが都市を選択できる動的コレクション選択リンクを作成したいと考えています。現在、私はこれを行っていますが、これは各都市のリンクを作成しています。これは私が望んでいるものではありません。

 <% City.all.each do |city| %>
    <%= link_to city.name, clubs_path(:city => city) %>
 <% end %>

選択した都市によってリンクが変わるリンクを作成する方法はありますか?

jquery http://marcgrabanski.com/articles/jquery-select-list-valuesでそれを行う方法を説明したこのブログにリンクされた1つのSO回答ですが、ページは現在削除されています。

4

1 に答える 1

1

このようなパラメーターをリンクで渡すことができます。

<%=  link_to city.name, {:controller => "clubs", :action => "index", :city => city.id} %>

更新 インデックスページにフォームを送信できます。

<%= form_tag clubs_path, :method => 'get' do  %>
  <%=  select_tag :city_id, options_for_select(City.all.collect{ |c| [c.name, c.id] })  %>
<%= submit_tag "Get Clubs", :name => nil %>

また、コントローラで param city_id を確認できます。

于 2013-08-17T19:28:07.227 に答える