Bir görünümde iki açılırum var ve ilk açılan menüden seçilen değer temelinde ikinci açılır menü seçeneklerini güncellemeye çalışıyorum.Seçili etiketi ajax ile raylarda dinamik olarak güncelle
Bu konudaki Demiryollarının farkındayım, ancak gruplandırılmış koleksiyonları kullanmak istemiyorum; Bunun nedenleri öncelikle kullanıcının bir açılır menüden ya da diğerinden seçebileceği ve sonuçların buna göre filtreleneceği, ilk açılan menüden sadece seçeneklerinin ilk açılır listeden bir değer seçildiğinde filtrelenmesidir.
Sorunuz, select_tag seçeneklerini js.erb dosyasından nasıl yeniden doldurabilirim?
şekilde
<%= form_tag("filter", :id => "filter_form", :method => "post") do %>
<label for="company_id" class="company">Company</label><%= select_tag(:company_id, options_from_collection_for_select(Company.all.order(:name), :id, :name), :prompt => "All Companies") %>
<label for="product_id" class="product">Product</label><%= select_tag(:product_id, options_from_collection_for_select(Product.all.order(:name), :id, :name), :prompt => "All Products") %>
<% end %>
js.coffee
$('#company_id').change(->
sendFilterForm()
)
sendFilterForm = ->
$.get($('#filter_form').attr('action'), $('#filter_form').serialize(), 'script')
kontrol
@filterProducts = true
@products = Product.where(company_id: params[:company_id]).order(:name)
js.erb
<% if @filterProducts %>
$('#product_id').html(<%= options_from_collection_for_select(@products, :id, :name) %>);
<% end %>
Yani son bölüm Açıkçası oldukça yanlıştır, ama bu yapmaya çalıştığım şeyin kavramdır. Bunu gerçekleştirmenin doğru yolu nedir? Gerekirse yeniden çalışıyorum, gerekirse herhangi bir yardım takdir ediliyor.
Bu bir github depo var mı: En js.erb aşağıdaki deneyin? Belki Rails 4 için? –