我是rails的新手并尝试通过复选框更改布尔值并使用jquery ajax,这是包含projects/index.html.erb
复选框的task
的一部分:
<div class="container">
<% @projects.each do |project| %>
#some html code here
<% project.tasks.each do |task| %>
<div class="row task">
<div class="col-xs-12">
<div class="col-xs-1 checkbox">
<%= check_box_tag 'is_active', task.id , task.is_active, :class => "task-check" %>
</div>
#some another html code here
</div>
toggle.js.erb
文件夹中的views/tasks
文件:
$(".task-check").bind('change', function(){
if (this.checked){
$.ajax({
url: '/tasks/'+this.value+'/toggle',
type: 'POST',
data: {"is_active": this.checked}
});
}
else {
alert("no");
}
});
使用tasks_controller.rb
方法的toggle
的一部分:
def toggle
@task = Task.find(params[:id])
@task.toggle(:is_active)
end
routes.rb中:
resources :projects do
resources :tasks do
member do
post 'toggle'
end
end
但是当我点击复选框时没有任何反应,我在控制台中看不到任何操作或请求