거기에 관련 질문이 많다는 것을 알고 있지만, 제 일을 할 수는 없습니다. 다음은 내가 가지고있는 것입니다 ...Rails, Ajax 및 boolean; 확인란을 선택 취소 할 수 없습니다
#app/views/tasks/index.html.erb
<%- @tasks.each do |task| %>
<div class="task-wrapper">
<%= check_box_tag 'checked_in', task.id , task.checked_in, :class => "task-check" %>
<%= content_tag :span, task.name %>
</div>
<% end %>
<%= link_to 'New Task', new_task_path %>
<script>
$(".task-check").bind('change', function(){
if (this.checked){
$.ajax({
url: '/tasks/'+this.value+'/toggle',
type: 'POST',
data: {"checked_in": this.checked}
});
}
else {
alert("no");
}
});
</script>
#app/controllers/tasks_controller.rb
...
def toggle
@task = Task.find(params[:id])
if @task.update_attributes(:checked_in => params[:checked_in])
# do I need something here?
else
# do I need something here?
end
end
...
내 작업 모델에는 'checked_in'속성이 있으며 부울입니다. 나는이 질문에서이 코드를 가지고
...Rails change boolean value with checkbox and jquery ajax
... 그리고 꽤 벌어지고있는 모든 것을 이해하지 않습니다. 새 작업을 만들 때 부울 값을 true로 설정하는 상자를 성공적으로 선택할 수 있습니다. 그러나 상자를 선택 취소하면 "아니오"라고 표시되는 js 팝업이 표시되지만 DB에는 아무 것도 설정되지 않으며 서버에 다시 전송되지 않습니다.
아이디어가 있으십니까?
안녕하세요. 또한 다음 질문에 대해, (좋은) 해결책을 제공하려면 다른 게시물을 작성하는 대신 질문을 편집해야합니다. 게시물은 답변을 위해 예약되어 있으며 주문은 시간이 지나면 변경 될 수 있습니다. – Antoine