0

国とユーザーの2つのモデルがあります

country.rb

class Country < ActiveRecord::Base
  has_many :users
end

user.rb

class User < ActiveRecord::Base
  belongs_to :country
end

users / index.html.erbページに表示されるすべてのユーザー(すべての国から)。

users_controller.rb

  def index
    @users = User.all
  end

users / index.html.erb

<%= collection_select(:user, :country_id, Country.all, :id, :country_name) %>
<%= render @users %>

users / index.html.erbには、すべての国の選択メニューもあります。

どうすれば次のことができますか:誰かが特定の国を選択すると、選択した国のユーザーのみが表示されますか?

4

1 に答える 1

1

これは、javascriptを使用してのみ実現できます。

それを行う典型的な方法はAJAXを使用することです。onchange選択した国のすべてのユーザーのリストを要求するイベントを選択にバインドします。サーバーでは、そのクエリを一連の選択オプションとしてフォーマットし、クライアントの2番目のドロップダウンに応答を挿入して挿入できます。

これは良いチュートリアルのように見えます:http: //www.falsepositives.com/index.php/2010/05/28/building-a-casscading-drop-down-selection-list-for-ruby-on-rails-with -jquery-ajax /

あなたはそれを行うためのよりRESTfulな方法を見つけることを試みるべきですが。

于 2012-04-23T06:00:04.823 に答える