Rails - 有一个ajax按钮来拨打电话

时间:2016-07-21 09:03:52

标签: ruby-on-rails ajax

假设我的表单上有一个按钮,它没有提交表单,但它基本上是为了获取更多信息:

<%= 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>

1 个答案:

答案 0 :(得分:0)

在这里,您可以创建一个html按钮,而无需使用表单构建器,如。

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

然后,您可以将click事件绑定到该按钮,并在该事件中调用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

希望这会有所帮助!