Rails・GraphQL基礎 – データ更新 & 認証編

ここでは、Rails での GraphQL の基本的な使い方を整理していきます。 内容は、Udemy『Basics of GraphQL with Ruby on Rails』のセクション3「Changing Data」とセクション4「Authentication, Authorisation, and Access Control」を参考にしています。 詳細はそちらをご参照ください。 Changing Data データを更新する処理は

Rails・GraphQL基礎 – イントロ & クエリ編

ここでは、Rails での GraphQL の基本的な使い方を整理していきます。 内容は、Udemy『Basics of GraphQL with Ruby on Rails』のセクション1「Introduction」とセクション2「Reading Data」を参考にしています。 詳細はそちらをご参照ください。 Introduction GraphQL とは GraphQLは、APIで使われるクエリ言語です。 2012年にFaceboo

ワードプレスを別ドメイン・別サーバに移行させる

ワードプレスのサイトを作ってから ドメインを変更したくなったり、 サーバを引っ越しさせてたくなることってありますよね。 今回はサイトをそのまま別ドメイン・サーバに移行させる手順を紹介します。 新規サイトのセットアップ まず移行先となる新しいワードプレスのサイトを準備します。 手順の詳細はこちら: WordPress – 初期セットアップ手順 1. All-in-One WP Migration のインストール 移行作業には「All-in

Rails – サービス層でURL.encodeがNoMethodErrorになる

背景 Rails で日本語が含まれるURLを扱う場合、日本語部分をエンコードする必要があります。 通常、URI.encode (url) で事足りるはずですが、サービス層で利用した時に次のエラーが出ました。 class ServiceObject def execute url = ‘https://example.com/日本語’ URI.encode(url) # ここでエラー! # 以下、処理が続く end end NoMetho

Rails – RansackでOR条件グループを適用させる

やりたいこと Ransackの検索条件の一部にOR条件グループを作りたい。 例えば、以下のようなテーブル構成の場合、 テーブル名 カラム名 a_tables price fee b_tables cost a_table_id Ransack の検索条件の一部として、次のようなOR条件を適用させたい: a_tables の 「price」 が入力されており、かつ a_tables の 「fee」 または b_tables の「cost」

Stripe Radarで定期決済のデビットカード使用を拒否する

Stripeの決済機能は、全てのカードタイプに対応しています。 なので、デビットカードやプリペイドカードでも決済可能です。 これはこれで便利なのですが、定期決済の登録カードとしてデビット・プリペイドカードが利用されると、残高が足りない場合に処理が失敗してしまうので、実務的にあまり望ましくない時があります。 今回は Stripe Radar を使って、定期決済のデビット・プリペイドカード利用を拒否する方法をご紹介します。 Stripe R

Rails – 特定の条件でモデルのコールバックをスキップ

スキップさせたいコールバックアクション before_save や after_save など、モデルのコールバックアクションを 「あるアクションで保存する時は処理をスキップさせたい!」 と思うことがあります。 次の do_something を特定の文脈でのみ走らせたい!というような時です。 # Model class User before_save :do_something def do_something # 特定の文脈でのみ

Rails – form_withでPOSTしたはずの”params”がnilになる?

背景:消えた “params”? 何の変哲もないform_withで書かれたフォーム。 # slim = form_with url: action_path do |f| = hidden_field_tag :name, ‘test’ = f.submit このフォームをサブミット(POST)して、コントローラで値を確認すると、 なぜか params => nil となります。 def action bing

Stripeのウェブフックで403エラーが出たときの対処法

環境 WordPress プラグイン WP Full Stripe XServer(エックスサーバ) Stripeからエラーメッセージが届く WordPressに「WP Full Stripe」を使ってStripe決済を導入した後、しばらくしてStripeから以下のエラーメールが送られてきました。 We’re contacting you because we’ve had some trouble delivering data to

ワードプレスのプラグインに独自の日本語翻訳を追加する

ワードプレスのプラグインはとても便利ですが、イケてるプラグインにかぎって日本語翻訳がされてないことがあります。 今回はそんなプラグインに対して、独自の日本語翻訳ファイルを追加する方法を整理します。 翻訳ファイルはlanguagesフォルダで管理 翻訳ファイルは「wp-content/plugins/ [プラグイン名] /languages」フォルダで管理されています。 # 例) wp-content/plugins/wp-full-st