たとえ私たちが魔法使いの帽子をかぶって水晶玉を取り出さなければならなかったとしても、2016 年も Ruby on Rails が人気になるだろうと私たちはまだ口走るでしょう。 2016 年も、1 日は 24 時間しかありませんが (希望どおりに時間を延長できます)、ビジネスマンにとって時間は依然としてお金になります。時は金なり、時間を節約できるものはすべて金です。そこで Ruby on Rails が登場します。他のプログラミング言語では完了までに数か月かかるものでも、Ruby on Rails ではわずか数週間、場合によっては数日で完了します。アイデアをアプリケーションに形にするのは、かつてないほど簡単でした。 Ruby on Rails では、俊敏性が標準であり、構成よりも慣習がベンチマークとなります。 Ruby on Rails をより強力にしているのは、gem と呼ばれる、事前にパッケージ化され、分類され、再利用可能なコードの束です。宝石を使用すると、Rails は驚くべきスーパーパワーになります。最も人気のある gem の 1 つは Devise Gems と呼ばれ、完全な認証パッケージです。 Devise gem の詳細については、以下をお読みください。
「デバイス」ジェムとは何ですか?
- Devise は、Rails 用の強力かつ柔軟な認証ソリューションです。
- これは完全に MVC 構造に基づいています。
- 複数のモデルを同時にサインインさせることができます。
Deviceのさまざまなモジュール
Devise は 10 個の重要なモジュールで構成されています。
- データベース認証可能: サインイン時にユーザーの信頼性を検証できるように、パスワードを暗号化してデータベースに保存します。認証は、POST リクエストまたは HTTP 基本認証の両方を通じて実行できます。
- オムニア認証可能: 追加 オムニ認証 サポート、つまり OmniAuth によるログインを設定することが可能です。
- 確認可能: 確認手順を記載した電子メールを送信し、サインイン時にアカウントがすでに確認されているかどうかを確認します。
- 回復可能: ユーザーのパスワードをリセットし、リセット手順を送信します。
- 登録可能: ユーザーがサインアップすることで登録プロセスを処理し、ユーザーが自分のアカウントを編集および破棄できるようにします。
- 記憶可能: 名前が示すように、保存された Cookie を通じてユーザーを記憶するためのトークンの管理、生成、クリアに役立ちます。
- 追跡可能: サインイン数、タイムスタンプ、IP アドレスを追跡します。
- タイムアウト可能: 指定された期間アクティブでなかったセッションを期限切れにします。
- 検証可能: 電子メールとパスワードの検証を提供します。これはオプションでカスタマイズできるため、独自の検証を定義できます。
- ロック可能: サインイン試行が特定の回数失敗した後にアカウントをロックするのに役立ちます。アカウントは電子メール経由で、または特定の期間後にロックを解除できます。
デバイスのインストール、モデルの作成、表示と構成
- Rails アプリを作成する
- gem 'devise' を Gemfile に追加します。
- コマンドラインでバンドルインストールを実行します。
- コマンドラインで「rails generated Device:install」を実行します。
- レールを実行してデバイスを生成するコマンドラインでモデルを作成します。例:- レールはデバイス ユーザーを生成します。 Rails を実行すると、device user が生成され、モデル ディレクトリに user.rb モデルが表示されます。class User <
ActiveRecord::Base# デフォルトのデバイスモジュールを含めます。他に利用可能なものは次のとおりです。
# :confirmable、:lockable、:timeoutable、および :omniauthable
:database_authenticatable、:registerable、を考案します。
:回復可能、:記憶可能、:追跡可能、:検証可能
終わり
- 必要に応じて、ユーザーの移行ファイルを変更できます。次に、 rake db:merge を実行します。
- コマンドラインでrailsgenerate Device:viewsを実行してビューを作成します
- 各環境で Devise メーラーのデフォルトの URL オプションを設定する必要があります。 config/environments/development.rb の例: config.action_mailer.default_url_options = { host: 'localhost'、port: 3000 }
要件に応じてモデル、コントローラー、ビューをカスタマイズできます。詳細については、github ドキュメントに従ってください。
一部のコントローラー フィルターとヘルパー
- ユーザー認証を使用してコントローラーをセットアップするには before_action :authenticate_user!
- ユーザーがサインインしているかどうかを確認するには => user_signed_in?
- 現在サインインしているユーザーの場合 => current_user
- このスコープのセッションにアクセスします: => user_session
- after_sign_in_path_for と after_sign_out_path_for をオーバーライドして、リダイレクト パスをカスタマイズすることもできます。
「activeadmin」gem、「devise_invitable」gemをdevicesと統合できます。
時間の節約という点では、Ruby on Rails に勝るものはありません。アイデアがあり、それを実装したい場合は、Ruby on Rails を選択するのが最善の策です。 RailsCarma は、開発、トレーニング、デプロイ、Rails コミュニティへの貢献のために初期段階から Ruby on Rails を実装し、最高の Ruby on Rails 開発サービスを提供しています。 RailsCarma は、コンサルティング、アーキテクチャ、構築、管理、拡張などのエンドツーエンドの Ruby on Rails サービスを世界中の企業に提供します。あなたもすることができます Ruby on Rails 開発者を雇う 簡単な雇用プロセスで。 お問い合わせ もっと知るために。
他の宝石について読む: