タイトルと同様に、必要なすべてのJSファイルがメタタグに含まれていることを確認しました。jquery-rails/coffee-rails gemちょうどの場合の外部のもの。JQueryはRails 3.2プロジェクトでは動作しません
これは、Ryan BatesのStripeチュートリアルの変更されたスクリプトです。フォームから送信アクションを検出することで起動すると思います。
私はJSやCoffeeScriptに慣れていないので、ここで問題点を指摘することはできません。
私は何か助けていただきありがとうございます。
donations.jsファイル:
jQuery ->
Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'))
donation.setupForm()
donation =
setupForm: ->
$('#new_donation').submit ->
$('input[type=submit]').attr('disabled', true)
if $('#card_number').length
donation.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, donation.handleStripeResponse)
handleStripeResponse: (status, response) ->
if status == 200
alert(response.id)
else
alert(response.error.message)
寄付/ new.html.erbフォーム
<%= form_for(@donation) do |f| %>
<div class="field">
<%= f.label :from %>
<%= f.text_field :from %>
</div>
<div class="field">
<%= label_tag :card_number, "Credit Card Number" %>
<%= text_field_tag :card_number, nil, :name => nil %>
</div>
<div class="field">
<%= label_tag :card_code, "Security Code (CVV)" %>
<%= text_field_tag :card_code, nil, :name => nil %>
</div>
<div class="field">
<%= label_tag :card_month, "Card Expiration" %>
<%= select_month nil, {:add_month_numbers => true}, {:name => nil, :id => "card_month"} %>
<%= select_year nil, {:start_year => Date.today.year, :end_year => Date.today.year+15}, {:name => nil, :id => "card_year"} %>
</div>
<div class="field">
<%= f.label :Notes %>
<%= f.text_field :note %>
</div>
<br>
<center>
<span class="BigBold">Amount: $2.50</span>
<%= f.hidden_field :amount, {:value => "2,5" } %><br>
</center>
<br>
<center>
<%= f.submit "Donate Now", :class => 'donate-button' %>
</center>
<% end %>
応答のためにありがとうPeter、私はコーヒーレールがgemfileに含まれています。私が投稿したときに、processCardの前にalert()を削除するのを忘れてしまった:part。 –
また、私が使っているソースはhttps://github.com/railscasts/episode-288/blob/master/saas-after/app/assets/javascripts/subscriptions.js.coffeeです –