質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

0回答

729閲覧

rails ajax部分リロード <script></script> 読み込まれない

franseagal1

総合スコア5

Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2021/05/22 08:17

こんにちは。今ecサイトの金額表示部分を実装中です。ストライプAPIを使って決済機能を付けています。

そこで問題なのですが、
Ajaxを使い部分リロードを実装する際にhtml内の<script></script>の部分が読み込めません。実際には"baskets/checkout_left"へrenderと同時にストライプボタン部分もリロードするつもりですがうまくいきません。

ターミナルには特にエラーなし。
ストライプボタン部分以外はしっかりとリロードされております。(ボタンが見えない)

<script></script>の部分が読み込めないという部分は検証を使いわかりました。

Ajaxなしでredirect_to 'url'の場合ボタンは表示され、<script></script>の部分も検証で読み込まれています。

どなたか解決方法が分かる方いらっしゃいますか?

"baskets/checkout_left" <%= render "baskets/stripe_checkout"%>の部分がAJAXを使った際読み込まれない。 <div class="checkout-left-basket animated wow slideInLeft" data-wow-delay=".5s" id="checkout-left-basket" > <h4>Continue to basket</h4> <% @items.zip(@user_items_quantity) do |item, uiq| %> <ul> <li> <%= item.name %> × <i> ( <%= uiq %> ) </i> <span >$ <%= item.price * uiq %> </span> </li> </ul> <% end %> <ul> <li class="basket-total">Total<i>-</i> (<%= @user_items_quantity.sum %>) <span class="text-danger"><%= "CAD $#{@total_price}" %></span> </li> </ul> <div id="stripe"> <%= render "baskets/stripe_checkout"%> </div> </div>

///

"baskets/stripe_checkout" <div class="stripe pull-right mt-5"> <%= form_tag charge_path do %> <% @items.zip(@user_items_quantity) do |i, uiq| %> <%= hidden_field_tag 'item_ids[]', i.id %> <%= hidden_field_tag 'item_quantities[]', uiq %> <% end %> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="<%= ENV['STRIPE_API_KEY']%>" date-description="payment" data-amount="<%= @total_price * 100 %>" data-locale="auto" data-currency="cad" > $.ajax({ type: 'POST', url: 'https://api.stripe.com/v1/charges', class: "stripe-button", data: { key: "<%= ENV['STRIPE_API_KEY']%>" , amount: 3000, description: "payment", amount:"<%= @total_price * 100 %>", locale: "auto", currency: "cad" }, }); </script> <% end %> </div>

///

create.js.erb $("#user_checkout_left").html("<%= escape_javascript(render('baskets/checkout_left')) %>"); コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

winterboum

2021/05/23 09:10

実際にviewにおいてあるファイル名 は"baskets/stripe_checkout" で合ってますか? 違ってません?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問