バックエンドを考案する


それで、あなたが私を知っているか、私の仕事と/またはブログに続いていたならば、あなたは多分私が若干の中小企業のためにいくつかのサイトを建設していたということを知っています.これらのサイトのサイトの所有者のための方法を私たちを通過することなく、今後のイベントなどを更新するための方法を作成するには、フロントエンドのみのサイトとして現在動作しているサイトのアクセス可能なバックエンドを構築することを決めた.
私はPostgresデータベースを使ってRuby on Railsでバックエンドを構築しています.私は、サイトがログイン可能であるように認証を加えることに決めました(意味、利用できるユーザによってパスワードでアクセスされることができる何か)、そして、これを達成するために、私は考案を使用することに決めました.
それで、何が工夫されますか?考案は、スーパーを容易にする宝石(またはパッケージ)です.が工夫されてクールになりますが、工夫についての最良のものの一つは、bcryptが組み込まれていることです!これは、あなたのための塩とハッシュパスワードを意味します!
どのような意味を知らないあなたのそれらのために:パスワードが“塩漬け”ときに追加の文字のユニークでランダムな文字列は、指定されたパスワードに追加されます.パスワードが「ハッシュ」されるとき、それらのキャラクタ(塩漬けの間、与えられて、加えられる)はすべてスクランブルされて、戻ることができない解読不能な新しいストリングに変わりました.注意:“salt”の追加は、パスワードとして“パスワード”を選択した2人のユーザのパスワードを区別するものです.ユーザーがログインすると、サイトはパスワードを検証するために保存された塩とハッシュされたパスワードに入力されたパスワードの値を比較することができます.
しかし、それはすべての素晴らしいですが、deviseについての私のお気に入りのものは、それはあなたのためにどのように非常に使いやすいです!通常、アプリケーションを生成するときにすぐに工夫を追加し、gem 'devise' あなたの宝石ファイルにbundle install (or bundle update あなたのマシンに既に工夫をしているならrails g devise:install , あなたのアプリケーションに工夫を加えることができます.あなたは今あることに注意してくださいdevise.rb あなたのファイルconfig/initializers フォルダとあなたのconfig/locales フォルダがあるdevise.en.yml ファイルを使用します.(より多くのことが生成されたが、現時点では、これらは実際に見ることができる2つの変更です).
インconfig/routes.rb , ルートルートを追加します.
root to: "home#index"
app/views/layouts/application.html.erb , 追加
      <p class="notice"><%= notice %></p>
      <p class="alert"><%= alert %></p>
フラッシュメッセージを追加します.
次に、実行してユーザーを生成することができますrails g devise user . これは、モデルと同様に、あなたのためのマイグレーションを生成しますconfig/routes.rb , これで気づくでしょうdevise_for :users )! ランrails db:migrate データベースを移行するには
今、あなたが思い出すならば、私はあなたのためにどれくらいの工夫がするかについて言及していました.あなたのサーバーを起動し、ルートをチェックアウトする場合は、そこに束が表示されます!それらの1つに従って、あなたもあなたのために存在するビューを参照してくださいよ!と信じていないかどうか、我々はすでにサインアップ、フラッシュメッセージなどの狂った、右?

しかし、我々が我々のルートで見たそれらのものの全てへの接近をするために、我々は同様に我々の見解を生み出したいです.だから私たちの端末に戻って飛び出る、我々は実行することができますrails g devise:views そして、それはapp/views/devise フォルダ!今、我々はアクセスし、それらのビューを編集できます.
そして、私が以前に言ったように、deviseはあなたのために多くをします、そして、あなたにビルトインヘルパーメソッドへのアクセスを与えますcurrent_user (現在のユーザオブジェクトを返す)user_signed_in? を返します.true or false ユーザが署名されていて、セッションが存在する場合によって異なります).
これは工夫して、それがあなたのために何ができるかのイントロです.私はそれがとても素晴らしいと便利だと思うので、私はあなたとそれを共有したいと思いました!私はこのプロジェクトのために再びそれを使用していることを非常に満足している、あなたは自分が将来のいくつかの時点でプロジェクトに工夫を使用して見つける必要があります、私はあなたがそれをあまりにもお楽しみください!