General Ajax Spinner para Rails

Usando spinjs-rails

Adicione a gema ao nosso Gemfile:

gem 'spinjs-rails'

Adicione os javascripts ao pipeline de ativos:

//= require spin
//= require jquery.spin

Crie um ouvinte global usando comportamentos:

# app/javascript/main.js.coffee
$
->
$
('[data-behavior~=ajax-spin').on 'click', ->
target
= $(this).data('target')
$
(target).spin('large')

Adicione o comportamento à visualização:

# app/views/general/index.html.slim
= link_to 'My Link', my_link_path,
remote
: true,
data
: { behavior: 'ajax-spin', target: '#target-element' }

...
#target-element
.some-content