Мне нужна помощь с моим jquery, которая должна выполнить задачу в нашем приложении Rails3.Спасибо другим здесь, у меня есть флажок, который при нажатии должен пометить статус задачи как выполненный.
В моем коде рельсов у меня есть это;
<%= check_box_tag 'complete_task_1', '', false, { 'href' => completed_task_path(task.id) } %>
В моемapplication.js, я начал с этого:
$('#complete_task_1').click(function() {
$.ajax({
url: $(this).data('href'),
type: 'post',
dataType: 'html',
success: function(data, textStatus, jqXHR) {
$('#thing').css("color","red");
alert ('yabadabadoo');
}
});
});
Это дает мне ошибку, хотя - нет совпадений с маршрутом для / tasks
Чтобы проверить, я заменил URL на:
tasks/4/complete
Который переключал статус в БД, но не обновлялся на странице.Поэтому у меня есть два вопроса:
- Что не так с указанным выше URL / функцией?
- Что можно включить, чтобы задача исчезла со страницы без перезагрузки?
- ОБНОВЛЕНИЕ -
Попробовал использовать код в соответствии с предложением @ darin-dimitrov, приведенным ниже, и я вышел из приложения ... Ошибка, показанная в журнале разработки:
Started POST "/tasks" for 127.0.0.1 at 2011-07-16 13:27:32 +0100
Processing by TasksController#create as HTML
SQL (143.6ms) describe `roles_users`
User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
SQL (0.2ms) BEGIN
SQL (0.6ms) COMMIT
Completed in 454ms
Похоже, он все еще не получает правильный URL.Должен ли я также использовать POST?