Мне нужно отобразить контрольный список вещей, которые нужно «сделать» (на испанском).
Идея состоит в том, что после того, как флажок, связанный с элементом, будет установлен, текст метки будет проходить через строку (text-ornament: line-through) и атрибут (с именем: done) из базы данных обновляется. *
Для этого у меня есть следующее:
В моем представлении :
<% @user_account.activities.each do |act| %>
<div class="checklist_check">
<%= check_box_tag 'activity_status', act.id, act.done, :class => 'activity_status' %>
<%= act.name %>
</div>
<% end %>
В JavaScript :
$(function(){
$(".activity_status").live("change", function(act_id) {
$.ajax({
url: "/controller/done",
beforeSend: function() { alert("Hi") },
data: "id="+act_id,
success: function() { alert('Bye') }
});
});
});
В моем контроллере :
def done
@activity = Activity.find params[:id]
if @activity.done
@activity.update_attributes :done_by_date, false
else
@activity.update_attributes :done_by_date, true
end
end
Также я настроил маршрут для этого действия: получить "controller / done"
Проблема:
Как только я нажимаю на флажок, вызывается функция, и запускается предупреждение («привет»), но функция успеха не выполняется, а атрибут «выполнено» никогда не обновляется в базе данных.
Есть идеи, что я делаю не так? Как бы вы это сделали?
Заранее спасибо!