Проверка jQuery, удаленное перенаправление неправильно в Rails 3 - PullRequest
2 голосов
/ 21 марта 2012

В приложении.js ...

$(document).ready(function () {
$("#new_academic_formation").validate({
debug: true,
rules: {
      "academic_formation[id]": {
      required: true,  
      minlength: 3, 
      remote:  "/academic_formations/check_id"
      }
}     
});
});

В моем acade_formations_controller.rb

def check_id
    @academic_formation = AcademicFormation.find(params[:id])
    respond_to do |format|
      format.json { render :json => !@academic_formation }
    end
end

И, наконец, в файле rout.rb

resources :academic_formations
match "/academic_formations/check_id" => 'academic_formations#check_id'

Проблема в том, что вместо вызова action rails вызывает функцию action show.

1 Ответ

1 голос
/ 21 марта 2012

Вам нужно будет переместиться на match "/academic_formations/check_id" => 'academic_formations#check_id' до resources :academic_formations.

Это прямо из документов .

"Маршруты Rails сопоставляются в указанном порядке, поэтому, если у вас есть resources :photos выше get 'photos/poll', маршрут действия show для строки ресурсов будет соответствовать перед строкой get. Чтобы это исправить, переместите получить строку над строкой ресурсов, чтобы она соответствовала первой. "

ИЛИ

Поскольку у вас ресурсный маршрут, вы можете добавить маршрут как, если он применяется к коллекции (вы можете узнать больше об этом в документах, связанных выше), и если это get метод как:

resources :academic_formations do
  collection do
    get 'check_id'
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...