Coffeescript (jQuery) в приложении Rails не работает?

0

Я борюсь с реализацией функций с помощью jQuery + Coffeescript - проблема в том, что код не показывает никаких окон alert.

Здесь JS-функциональность:

jQuery ->
  Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'))
  subscription.setupForm()

subscription =
  setupForm: ->
    $('#new_subscription').submit ->
      $('input[type=submit]').attr('disabled', true)
      if $('#card_number').length
        subscription.processCard()
        false
      else
        true

  processCard: ->
    card =
      number: $('#card_number').val()
      cvc: $('#card_code').val()
      expMonth: $('#card_month').val()
      expYear: $('#card_year').val()
    Stripe.createToken(card, subscription.handleStripeResponse)

  handleStripeResponse: (status, response) ->
    if status == 200
      $('#subscription_stripe_card_token').val(response.id)
      $('#new_subscription')[0].submit()
    else
      $('#stripe_error').text(response.error.message)
      $('input[type=submit]').attr('disabled', false)

Все атрибуты class и id настроены правильно, но когда я нажимаю кнопку, не вызывается окно alert.

Когда я ставил окно alert перед строкой jQuery ->,

alert('asf')
jQuery ->
...

alert window, но когда я это сделаю

jQuery ->
alert('asf')
...

затем не отображается.

Файл, указанный выше, успешно загружен. Я использую jQuery v1.11.1, Rails v4.

Что я здесь упускаю?

Благодарю oyu

  • 0
    Да, я использую TurboLinks в приложении.
Теги:
coffeescript

1 ответ

0

Намерение важно в coffescript

jQuery ->
  alert('asf')

будет производить

 jQuery(function() {
   return alert('asf');
 });

Однако

jQuery ->
alert('asf')

Будет производить

jQuery(function() {});
alert('asf');

Возможно, некоторые другие намерения. Проверьте скомпилированный код js с инструментами chrome dev из Firebug или тому подобное

Ещё вопросы

Сообщество Overcoder
Наверх
Меню