我有两种模式:国家和用户
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上所有国家/地区的选择菜单。
如何执行以下操作:当有人选择特定国家/地区时,将仅显示所选国家/地区的用户?
答案 0 :(得分:1)
这只能通过javascript来实现。
这样做的典型方法是使用AJAX。将onchange
事件绑定到您的选择,请求所选国家/地区的所有用户列表。然后,在服务器上,您可以将该查询格式化为一组选择选项,然后插入然后将响应插入客户端的第二个下拉列表中。
虽然你应该尝试找到一种更加RESTful的方法。