2016-10-27 8 views
0

私は、外部のElasticsearchストアに値を保存するチェックボックスを含むRailsアプリケーションを作成しています。Rails&Elasticsearchでトグル値を "true"に更新します

私はこのタスクを処理するコントローラを作成しました。どのようにこれが可能であるどのように私はちょうど

<input type="checkbox" onClick= ???.toggle(task) value=<% task['complete'] %>" /> 

に必要私の見解

def task_complete(task) 
    @Toggle = Task.toggle(task) 
end 

以内にこれにアクセスするためにしかし、私は途方に暮れてんですか?あなたのタスクIDと完了状態でサーバにリクエストを送信するためにJavaScriptを使用する必要があり、事前

答えて

0

感謝します。 jQueryを使って

#.erb view 
<input class="task" data-id="<%= task.id %>" type="checkbox" value="<%= task.complete %>" /> 

JS:

//for all checkboxes on the page 
$(".task:checkbox").on('change', function() { 
    var url = '.../tasks/' + $(this).data('id') + '/toggle'; 
    $.post(url, { checked: this.checked }); 
    //callbacks if needed 
}); 

routes.rbを

resources :tasks do 
    post 'toggle', on: :member 
end 

レールタスクコントローラ

def toggle 
    task = Task.find(params[:id]) 
    #logic with task and params[:checked] 
end 
関連する問題