使用选择菜单更改内容

时间:2012-04-23 05:47:19

标签: ruby-on-rails ruby

我有两种模式:国家和用户

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

用户/ index.html.erb

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

还有用户/ index.html.erb上所有国家/地区的选择菜单。

如何执行以下操作:当有人选择特定国家/地区时,将仅显示所选国家/地区的用户?

1 个答案:

答案 0 :(得分:1)

这只能通过javascript来实现。

这样做的典型方法是使用AJAX。将onchange事件绑定到您的选择,请求所选国家/地区的所有用户列表。然后,在服务器上,您可以将该查询格式化为一组选择选项,然后插入然后将响应插入客户端的第二个下拉列表中。

这看起来像一个很好的教程: http://www.falsepositives.com/index.php/2010/05/28/building-a-casscading-drop-down-selection-list-for-ruby-on-rails-with-jquery-ajax/

虽然你应该尝试找到一种更加RESTful的方法。