1

Iam, используя ancestry gem с моделью местоположения. Если пользователь выбирает родительский, как показывать дочерние элементы, а затем нажмите «дети», показывая родных братьев?Добавить Коллекцию с родословной

Как можно применить в пользователе _form.html.erb?

enter image description here

class Location < ActiveRecord::Base 
has_ancestry :cache_depth => true 
has_many :users 
end 

ответ

0

Восходящее

процесс будет относительно просто, учитывая ancestry дает вам ряд методов для достижения этой цели:

enter image description here

Что вы» Я хочу сделать, это создать 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 

Это позволит вам определить АЯКС методы для управления ответа от данных:

#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 
     }  
    }); 
}); 

Это должно предоставить вам необходимую функциональность

Смежные вопросы