ben

OMÜ , Bilgisayar Mühendisliği, 13'

5 Kasım 2015 Perşembe

rails -javascript routes


.net ortamından rails ortamına gecerken en cok zorlandığım yer , örnegin bir listboxın secilen değeri secildiğinde routes'a yönlenip biseyler yapıp geri getirilmesiydi, yada bir radio butonun, toogle butonun true/false dğeri değiştiği anda model yapısınında guncellenmesi ..vs


Listbox için:

 <div class="form-group">
<div class="row">
<label  class="col-md-2 control-label label-style">Uygulama 1:</label>
<div class="col-md-6">
 <%= f.select(:appone, @apps.map{ |c| [c.app_name, c.id] },{},{class: "form-control app_listbox"})%>
                  </div>
</div>
</div>



Toogle/radio buton:


<div class="col-md-2">
<div class="form-group">
<div class="togglebutton label-style  ">
<label>
      <%= check_box_tag 'isvisible', permit.id , permit.isvisible, :class => "permit-visible", input_html: { checked: permit.isvisible } %>
</label>
</div>
</div>
</div>


Kırmızı ile yazılanlar javascriptten çağıracağımız isim

javascript:

$(".permit-visible").bind('change', function(){
    $.ajax({
      url: '/permissions/'+this.value+'/isexecute',
      type: 'GET',
      data: {"isexecute": this.checked}
    });
});

$(".app_listbox").bind('change', function(){
   $.ajax({
     url: '/permission_apps/list_box',
     type: 'GET',
     data: {"app_filter": this.value}
   });
});


routes:

resources :permissions ,only: [:isexecute,:list_box] do
      get :isexecute, on: :member
      get     :list_box,on: :member
end


permission_controller.rb  sınıfındaki isexecute ve list_box methodumuza yönlendirdik.
method içinde redirect_to ile bulunduğu sayfaya geri yönlendirme  yaparsak  sayfada hissetmeden , arka planda veritabanına verileri kaydedebiliriz.