Bonjour,

voila un petit moment que je cherche pourquoi

Ce que j'ai

j'ai un controller sub_tasks_controller.rb avec une action update_status ou je fais un update_attributes

def update_status
        SubTask.find(params[:id]).update_attributes(status: params[:checked])
end

j'ai ajouté une route

post 'update_status' => "subtasks#update_status", :as => 'update_status'

qui est bien presente quand je fais rails routes

update_status POST   /update_status(.:format)                  subtasks#update_status

et j'ai dans application.js

$('.subtask-body label').on('click', function(){
subtask_id = 0;
checked = 1;
$.ajax({
                method: 'post',
                url: '/update_status',
                data: {id: subtask_id, checked: checked},
                success: function(response){
                    console.log(response)
                }
            });
});

Ce que j'obtiens

une erreur POST http://localhost:3000/update_status 404 (Not Found) et je ne sais pas pourquoi si quelqu'un peut m'expliquer comment resoudre ce petit probleme.

Merci, bisous.

3 réponses


fital
Réponse acceptée

Salut, remplace

post 'update_status' => "subtasks#update_status", :as => 'update_status'
#par
post 'update_status' => "sub_tasks#update_status", :as => 'update_status'

Bonjour.
Tu n'aurais pas mis la fonction en privé par hasard ?

Bonjour,
nan elle est en public

Edit:
j'ai ca en plus => ActionController::RoutingError (uninitialized constant SubtasksController):