2016-07-21 7 views
0

が、私は私のフォーム上のボタンを持っていると言うを作るためにAjaxのボタンを持つ、それがフォームを送信しませんが、それは基本的にいくつかのより多くの情報を得るために消灯:Railsの - コール

<%= f.button '', class:'hidden', id: 'do_calculation', remote: true %> 

私はどのようにこれをクリックすると、コントローラアクションが呼び出され、データが返されるようにします。

私は同じページにこのようなものを持っていますか?

<script> 
    function calculate_close() { 
    var id = '<%= @thing.id %>'; 
    $.ajax({ 
     url: "<%= calculate_path %>", 
     data: { 
     id: id 
     }, 
     dataType: "script" 
    }) 
    } 

</script> 

答えて

0

ここでは、フォームビルダを使用せずにhtmlボタンを作成できます。

<button id="do_calculation">Button</button> 

次にあなたがそのボタンにクリックイベントをバインドし、そのイベント内でAJAXを呼び出す、などのことができます。

$("#do_calculation").on('click', function(){ 
    var id = '<%= @thing.id %>'; 
    $.ajax({ 
    url: "<%= calculate_path %>", 
    data: { 
     id: id 
    }, 
    dataType: "json" 
    }) 
}) 

とコントローラにあなたのようなものを使用することができます。

respond_to do |format| 
    format.json { render :json => {:message => "success"} } 
end 

これが助けてくれることを願っています!

+0

button_toを使用している任意の例ですか?コントローラアクションでrespond_toをどのように処理するのですか? – user3437721

+0

ボタンを作成するにはbutton_tagを使用します。http://apidock.com/rails/ActionView/Helpers/FormTagHelper/button_tag – power