0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[rails, payjp] カード登録時に一度リロードしないと登録できない。

Posted at

はじめに

rails、payjpを使用した、クレジットカードの登録機能実装の際に起きた問題について記録します。

バージョン情報

  • ruby 2.6.5
  • rails 6.0.3.3

起こった問題

クレジットカード新規登録の際に一度リロードしないと登録できず、
リロードした後に登録すると正常にカード情報が登録される。

原因

turbolinksが影響を及ぼしていた。
本来ページ遷移するところを無理やりajaxに変えてDOMの部分変更によるもの。
処理やレスポンスの向上になるが、jsの処理が動かなくなったり悪さをします。

解決方法

  • application.js
  • application.html.haml 

のturbolinksの記述を削除

#javascripts/application.js

//= require jquery
//= require rails-ujs
//= require_tree .

#javascripts/application.js

= stylesheet_link_tag 'application', media: 'all'
= javascript_include_tag 'application'

           コメントアウトの行を削除
                  ⬇️
-# = javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' 
= javascript_pack_tag 'application'

最後に

今回はturbolinksについての記述を削除することで解決できました。
まだまだturbolinksについての知識が浅いことからこのよう問題に至ったのかなと思います。
メリット、デメリットについて情報収集を行い、turbolinksを生かした記述ができるように
取り組んでいこうと思います。

しょうま

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?