2013-06-27 11 views
6

Próbuję nawiązać połączenie ajax do mojego kontroleradokonywania ajax wezwanie do kontrolera działania w szynach

class PatientRecordController < ApplicationController 
    def export 
    .... 
    end 
end 

W moim pliku JavaScript mam

$(document).ready(function(){ 
    freezeTopRow($('#dataTable')); 
    $("#export").click(function(){ 
     $.ajax({url: "patient_record/export", type: "POST"}); 
    }); 
}); 

kiedy sprawdzać elementu i debugowania i po kliknięciu przycisku eksportu na mojej stronie. Uderzam w funkcję, ale nigdy nie dostaje się do kontrolera.

Mam również 2 kontrolery i 2 widoki. W moim drugim kontrolerem i widokiem zrobić to samo i to działa

Odpowiedz

8

Czy można sprawdzić, że routes.rb masz coś takiego:

post 'patient_record/export' 

Może Szyny nie zna trasę tak Ajax nie pracuje (jeśli można dostać się do działania z przeglądarki, oznacza to, że masz tylko zestaw GET, możesz sprawdzić, czy zmienia typ żądania w wywołaniu ajax)

2

Trzeba również trasy dla działań export w pliku config/routes.rb, coś

resources :patient_records do 
    member do 
    post :export 
    end 
end 

Można sprawdzić, czy to już istnieje przez uruchomienie rake routes | grep 'export'.

+1

Zaledwie pięć sekund! – NicoSantangelo

+2

... i właśnie miałem opublikować podobny komentarz do twojej odpowiedzi. :) – pjmorse

Powiązane problemy