クイックスターターズ

Ruby on Railsのバックエンドを構築する方法は?

32min

イントロダクション

このチュートリアルでは、Back4Appを使用してRuby on Railsのバックエンドを構築する方法を学びます。

Railsアプリケーションをデータベースの相互作用、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)などの重要なBack4App機能と統合するための主要なステップを探ります。すべてサーバーサイドで実行されます。

Rubyプログラミング言語を活用することで、RailsのビューコントローラMVCパターンに沿った堅牢でスケーラブルなアーキテクチャを構築し、開発者がWebアプリケーションの開発を加速できるようにします。

また、Back4Appがサーバーとデータベースの管理を簡素化することで、時間と労力を大幅に削減する方法を発見します。

これらの自動化機能により、手動でWebサーバーを設定したり、複雑なインフラに対処したりする必要がなくなります。

最後には、追加の統合や高度なカスタムロジックなどのさらなる拡張に備えた、柔軟で安全な構造を持つことができます。

ウェブページを提供するか、データ駆動型のウェブアプリケーションを構築したい場合、RailsとBack4Appは人気のプログラミング言語で現代的なソリューションを作成するためのシームレスな相乗効果を提供します。

前提条件

このチュートリアルを完了するには、次のものが必要です:

  • Back4Appアカウントと新しいBack4Appプロジェクト Back4appの始め方。 アカウントを持っていない場合は、無料で作成できます。上記のガイドに従ってプロジェクトを準備してください。
  • Ruby on Rails開発環境 Rubyがインストールされていることを確認してください(できればバージョン2.7以上)と、Rails gem(Rails 6以上)。 Railsをインストールする
  • Parse Rubyクライアント Parse SDKを直接使用する予定の場合は、parse-ruby-client gemをインストールして、Back4Appとのデータ操作を行うことができます。
  • Rails MVCの理解 Ruby on Railsが初めての場合は、公式Railsガイドまたは初心者向けのチュートリアルを確認して、RailsのビューコントローラーMVCアーキテクチャを理解してから始めてください。

始める前に、これらの前提条件が整っていることを確認してください。Back4Appプロジェクトが設定され、さらにあなたのRailsアプリケーションのスキャフォールドが準備されていることが、スムーズなチュートリアル体験を保証します。

ステップ1 – Back4Appで新しいプロジェクトを作成し、接続する

新しいプロジェクトを作成する

Railsアプリケーションのためのサーバーサイドバックエンドを設定する最初のステップは、Back4Appで新しいプロジェクトを作成することです。まだ行っていない場合は:

  1. Back4appアカウントにログインする.
  2. 「新しいアプリ」ボタンをクリックする あなたのBack4Appダッシュボードで。
  3. アプリに名前を付ける (例:「Rails-Backend-Tutorial」)。
Document image


プロジェクトが作成されると、それはあなたのBack4Appダッシュボードに表示されます。この新しいプロジェクトは、このチュートリアルのすべてのバックエンド設定のコアを形成します。

Parse SDKを接続する(オプション:parse-ruby-client)

データベースの相互作用とリアルタイムクエリを効率化するために、Back4AppはParseプラットフォームを使用しています。もしあなたが直接ParseとRailsサーバーを統合したい場合は、parse-ruby-client gemをインストールすることができます。そうでなければ、標準のRESTまたはGraphQLエンドポイントに依存することができます。

Parseキーを取得する: あなたのBack4Appダッシュボードで、アプリの「アプリ設定」または「セキュリティとキー」に移動して、あなたのアプリケーションIDREST APIキーを見つけてください。あなたはまた、ParseサーバーURL(例、https://parseapi.back4app.com)も取得します。

Document image


parse-ruby-client gemを追加します Gemfile:

Ruby


次に実行します:

Bash


Parseを初期化します。例えば config/initializers/parse.rb:

Ruby


この時点で、あなたの Railsアプリケーションは、データの保存と取得、カスタムロジックの調整などのためにBack4Appと通信できるようになります。この統合アプローチにより、Ruby on Railsアプリがバックエンドを処理する方法が簡素化されます。

ステップ 2 – データベースの設定

データモデルの作成

多くの ウェブアプリケーション, RailsではActiveRecordマイグレーションを使用してデータ構造を定義します。Back4Appを使用すると、ダッシュボード上で直接スキーマを構築するオプションもあります。たとえば、Todo モデルがある場合:

  1. 「データベース」に移動します。Back4Appダッシュボードで。
  2. 「Todo」という新しいクラスを作成し、次のようなカラムを追加します:title (文字列) と isCompleted (ブール値)。
新しいクラスを作成
新しいクラスを作成


Back4Appは 文字列, 数値, ブール値, 日付, ファイル, ポインタ, リレーション, 配列, ジオポイント, および ポリゴン. Railsは通常、これらをモデル定義内で管理しますが、Parse SDKまたはREST/GraphQL APIを使用する場合、最初の保存時にParseがカラムを自動的に作成することもできます。

カラムを作成
カラムを作成


AIエージェントを使用したデータモデルの作成

Back4AppのAIエージェントはスキーマの作成を自動化できます:

  1. AIエージェントを開く あなたのダッシュボードから。
  2. データモデルを説明する(例:「新しいToDoアプリを完全なクラススキーマで作成してください。」)。
  3. エージェントにスキーマを生成させる
Document image


SDKを使用したデータの読み書き

parse-ruby-client」を統合することを選択した場合、次のようにレコードを保存できます:

Ruby


REST APIを使用したデータの読み取りと書き込み

また、Railsコード(または任意の外部クライアント)内からREST呼び出しを使用することもできます。たとえば、Todo:

Bash


GraphQL APIを使用したデータの読み取りと書き込み

Back4AppはGraphQLも提供しています:

GraphQL


ライブクエリの操作(オプション)

リアルタイムの更新を希望する場合は、Railsアプリケーション, フロントエンドまたはWebSocketクライアントからライブクエリにサブスクライブできます。Back4Appのサーバー設定, でライブクエリを有効にし、wss://YOUR_SUBDOMAIN.b4a.ioに接続して、変更のストリームを継続的に受信します。これは、即時のデータ更新が必要な動的なウェブアプリケーションに役立ちます。

ステップ3 – ACLとCLPを使用したセキュリティの適用

簡単な概要

セキュリティはウェブアプリケーション開発において重要です。Back4Appは、アクセス制御リスト(ACL)クラスレベルの権限(CLP)を提供して、オブジェクトとクラスの両方のレベルでデータの可視性を制御します。これにより、認証されたユーザーまたは権限のあるユーザーのみが機密データを読み書きできることが保証されます。

Document image


クラスレベルの権限の設定

  1. Back4Appダッシュボードのデータベースに移動します。
  2. クラスを選択します(例:「Todo」)。
  3. CLPのタブを開きます、役割、認証されたユーザー、または一般公開による読み書きアクセスを設定します。

ACLの設定

オブジェクトにACLを設定することで、特定のユーザーのみがそれを読み取ったり変更したりできるようにできます。Railsでは、parse-ruby-clientを使用すると、次のようになります:

Ruby


ステップ4 – クラウドコード関数の作成

クラウドコードの理由

クラウドコードはサーバーサイドのJavaScriptを実行し、開発者が独自のロジック、トリガー、バリデーションを追加できるようにします。自分のウェブサーバーを管理することなく、データを保存する前に追加のサーバーロジックを処理したり、チェックを行ったりすることができます。

例の関数

以下はJavaScriptの例です。あなたのRailsサーバーがメインアプリを処理している間、クラウドコードを使用してデータを処理することができます:

JS


デプロイ

Back4App CLIを通じてデプロイすることができます。または、Back4Appダッシュボードからもデプロイできます。クラウドコードは、使用するプログラミング言語に関係なく、すべてのクライアント間で共有されるロジックをカプセル化する便利な方法です。ノードベースのモジュール(NPM)サポートにより、外部パッケージをシームレスに統合できます。

ステップ5 – 認証の設定

ユーザー認証を有効にする

Back4Appは、Parseの組み込みユーザークラスを使用して、ユーザーのサインアップ、ログイン、セッションを管理します。REST呼び出しまたは公式SDKを通じてユーザーを作成できます。

Bash


ソーシャルログイン

Facebook、Google、またはAppleのサインインフローを統合できます。各プロバイダーは若干異なるアプローチを持っていますが、主な原則はParseとトークンを交換することです。これらをあなたの rails application に統合する方法の詳細については、公式の ソーシャルログインドキュメント を確認してください。

ステップ6 – ファイルストレージの取り扱い

ファイルストレージの設定

Parseを使用してファイルを扱うのは、Parse APIを通じてアップロードするのと同じくらい簡単です。parse-ruby-clientを使用している場合:

Ruby


このファイルをオブジェクトに添付できます:

Ruby

Document image


ステップ7 – メール確認とパスワードリセット

  1. メール確認を有効にする は、あなたのBack4Appダッシュボードの メール設定 の下で行います。
  2. パスワードリセットを設定する メールテンプレートとドメイン設定をカスタマイズすることによって行います。
  3. メールフローをトリガーする ユーザー登録後またはユーザーがパスワードリセットを要求したときに自動的に行います。これにより、セキュリティが向上し、有効なメール所有権の確認に役立ちます。

ステップ8 – クラウドジョブによるタスクのスケジューリング

クラウドジョブ

データのクリーンアップや日次サマリーの送信などのタスクを自動化したい場合は、クラウドジョブを使用してください。

JS


そのようなジョブは、Back4Appダッシュボードの サーバー設定 > バックグラウンドジョブ でスケジュールして、毎日または希望の間隔で実行できます。

ステップ9 – ウェブフックの統合

ウェブフックを使用すると、特定のイベントが発生したときに、Back4Appアプリが外部URLにデータを送信できます。新しいまたは更新されたオブジェクトデータを、StripeやSlackなどの別のシステムに転送できます。

  1. Back4Appダッシュボードの その他 > ウェブフック に移動します。
  2. 外部URLを指す新しいウェブフックを追加します。(例:Railsコントローラーのルート)。
  3. ウェブフックをトリガーするイベントを指定します。
Webhookの追加
Webhookの追加


好みに応じて、beforeSaveまたはafterSave関数内でHTTPリクエストを行うことで、Cloud CodeからWebhookをトリガーすることもできます。

BeforeSave WebHook
BeforeSave WebHook


ステップ10 – Back4App管理パネルの探索

Back4App管理アプリ」は、非技術的なチームやクライアントがBack4Appデータに対してCRUD操作を行うためのユーザーフレンドリーな方法を提供します。このインターフェースは、基本的なタスクのために直接コードを変更したり、Parse Dashboardを使用する必要を排除します。

どこで見つけるか

ダッシュボードから「管理アプリを有効にする」に移動し、「管理アプリを有効にする」をクリックすることで、管理アプリを有効にできます。

管理者アプリを有効にする
管理者アプリを有効にする


機能

有効にすると、次のことができます:

  • クエリを書くことなくデータを作成および管理する。
  • ログを監視し、バックグラウンドジョブをスケジュールし、プッシュ通知を処理する(有効な場合)。
  • チームメンバーに対して役割ベースのアクセスを提供し、安全な編集を実現する。
Document image


結論

おめでとうございます!Back4Appを使用してRuby on Railsのバックエンドを構築する方法を学びました。このチュートリアルでは、あなたは:

  • Railsプロジェクトを設定しました、REST、GraphQL、またはParse Ruby Clientを介してBack4Appと対話します。
  • 安全なデータベースインタラクションを設定しました、クラススキーマ、ACL、CLP、およびオプションのライブクエリを使用します。
  • ユーザー認証を統合しました、メール確認とパスワードリセットを含みます。
  • Cloud Codeをデプロイしました、カスタムロジック、トリガー、およびスケジュールされたタスクのために。
  • ファイルアップロードを管理しました, ウェブフックを活用し、管理パネルを探求しました。

Ruby on RailsのMVCアーキテクチャとBack4Appの強力な機能セットを組み合わせることで、あなたのRailsアプリケーションはシームレスにスケールできます。

インフラストラクチャの管理にかなりの時間を節約でき、洗練されたユーザーエクスペリエンスと信頼性の高いサーバーサイドロジックを持つWebアプリケーションの構築に集中できます。

次のステップ

  • Railsアプリを拡張します、より複雑な関係、キャッシング戦略、または高度な統合を追加します。
  • サードパーティAPIを組み込みます(支払いゲートウェイなど)を利用し、Cloud Codeを活用してより深いWebアプリケーション開発を行います。
  • 公式のBack4Appドキュメントを探求します、高度なセキュリティ、パフォーマンスチューニング、ログ分析などについて。
  • リアルタイム機能を試してみます、チャットアプリやコラボレーションプラットフォームを作成します—頻繁に変化するデータに最適です。

これらの基本が整ったら、Railsサーバーを迅速に開発、反復、スケールできます。コーディングを楽しんでください!