2016-04-12 33 views
1

ile kısmi yükleme Ben kısmi yükleyen bir javascript döndürür eylemi isteyerek dinamik arama sonuçlarını göstermek istiyorum. Bazı okuma yaptım ve escape_javascript bunu yapmak için doğru bir yol gibi görünüyor. Ama hiçbir şey ortaya çıkmaz ve 500 dahili sunucu hatası alıyorum. eylem (tarafından döndürülenRaylar: jQuery

<div id="search-employee"> 
    <%= form_tag({controller: "employees", action: "search"}, method: :get, remote: true) do %> 
     <%= label_tag 'email', "Search for:" %> 
     <%= text_field_tag 'email'%> 
     <%= submit_tag("Search") %> 
    <% end %> 

    <div id="search-result" class="row"> 
    </div> 
</div> 

js yerine html düz metin koyduğunuzda çalışır: arama formu ile

def search 
    @user = User.find_by email: params[:email] 

    respond_to do |format| 
     if @user && @user.user_type_type == "Employee" 
     format.js 
     else 
     format.js {render "failed_search"} 
     end 
    end 
    end 

görünüm: Burada

bazı kod denetleyici içinde

olduğunu kaçan js)

$('#search-result').html("<%= escape_javascript(render :partial => 'employees/search_result') %>"); 

Size kısmi göstereceğim, ama oraya düz metin koyduğumda bile işlenmiyor, öyle değil. İşte

gerçekten bilgilendirici görünüyor konsolundan çıkışı, bunu kaçırmış olmalıyım.

Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.2ms) 

ActionView::Template::Error (Missing partial employees/_search_result.html.erb with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: 
    * "/home/johnny/Desktop/ror/pub_crawler/pub_crawler_1.2/app/views" 
    * "/home/johnny/.rvm/gems/[email protected]/gems/devise-3.5.6/app/views" 
): 
    1: //does not work 
    2: $('#search-result').html("<%= escape_javascript(render :partial => 'employees/search_result.html.erb') %>"); 
    3: 
    4: $('#search-result').html('<div class="col-3-md"><%= @user.user_type.name %></div> <div class="col-3-md"><%= @user.user_type.surname %></div> <div class="col-3-md"></div>'); 
    app/views/employees/search.js.erb:2:in `_app_views_employees_search_js_erb__3438283462284537863_70351967525560' 
    app/controllers/employees_controller.rb:12:in `search' 

DÜZENLEME: Bu dosya adında bir yazım hatası ...

cevap

0

Eğer raylar konsolundan çıktı ve kısmi search_result gönderir misiniz Tamam, ben aptalım oldu? Rails'in kısmi dosyanızı bulamadığını veya kısmi tanımlanmamış bir değişken kullanmaya çalıştığından şüpheleniyorum. Eve geldiğimde

+0

bunu yayınlayacağız. Ancak #search_result div'unda hiçbir şey görünmüyor ve kısmi olarak düz metinle bile çalışmıyor. Bu yüzden bilgilendirici olacaktır (başlamış 'raylar server' yerde yani,) .js.erb ve raylar konsolundan ben çıkışını hayal kısmi – FunkyFrankie

+0

arasında bir şey olmalı. – Brian