我正在使用带有位置模型的祖先宝石。如果用户选择父母如何显示孩子,然后点击孩子显示兄弟姐妹?
如何在用户 _form.html.erb 中申请?
class Location < ActiveRecord::Base
has_ancestry :cache_depth => true
has_many :users
end
我正在使用带有位置模型的祖先宝石。如果用户选择父母如何显示孩子,然后点击孩子显示兄弟姐妹?
如何在用户 _form.html.erb 中申请?
class Location < ActiveRecord::Base
has_ancestry :cache_depth => true
has_many :users
end
祖先
该过程将相对简单,考虑到ancestry
为您提供了一系列方法来实现这一点:
你要做的是on change
在 javascript 中创建一个函数,将相关对象传递给你的控制器,它将返回你需要的结果:
#config/routes.rb
resources :locations do
get :siblings
end
#app/controllers/locations_controller.rb
Class LocationsController < ApplicationController
repsond_to :json, only: :siblings
def siblings
@location = Location.find params[:id]
respond_with @location.children #-> might need some logic to differentiate between siblings / children
end
end
这将允许您定义 ajax 方法来管理来自数据的响应:
#app/assets/javascripts/application.js
$(document).on("change", "#your_select", function(){
var id = $(this).val();
$.ajax({
url: "/locations/" + id + "/siblings",
dataTye: "json",
success: function(data) {
// append result to your other select boxes
}
});
});
这应该为您提供所需的功能