初心者がRuby on rails でオリジナルアプリを作るには(ユーザー認証から)
今年の夏に、どういうプログラミング言語があるのかすら
分からない状態からデビューした。
最初は、開発環境の設定から分からない事ばかりでアプリ開発なんて遠いものだと思っていたのだが、2ヶ月程たった頃には、どこがエラーになっているのか感覚で理解できるようになった。
自分が作ったアプリ(noteのようなサービス や バイクシェアアプリを作った)をもとに、何記事かに分けて開発の進め方を記載しておこうと思う。すぐに役立つ実践的な内容にしていきたい。
開発環境構築はたくさん記事があるので、またいつか。
ファーストステップ:ユーザー認証
Webサイトはまずユーザー認証が欠かせないはずなので、ここから実装した。
もちろん自分ですべて作ってもいいのだが、Railsにはdeviseという便利なGemがある。
deviseを使えば、誰でもすぐにユーザー認証が作れるのでおすすめです。
手順:
1)新規作成したRailsファイルの下の方にある、Gemfileに、gem 'devise'と書く
2)ターミナルにて、bundle install ~> enter
3)ターミナルにて、rails g devise:install
4)ターミナルにて、rails g devise User
5)ターミナルにて、rails db:migrate
6)ターミナルにて、rails g devise:views
7)上記を終えると、エディタにHTMLファイルができているので、
まず、views/layout/application.htmlの bodyタグ内を下記のように変更
<body>
<%= render 'shared/navbar' %>
<div class="container">
<%= yield %>
</div>
</body>
8)viewsフォルダで右クリック ~> 新規ファイルで shared/_navbar.html.erb
ファイル内にとりあえず、<%= link_to "Logo", "#", class: "navbar-brand" %>と記載。
9)最後に、controllers/application_controller.rbに、
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sing_up, keys: [:name, :email, :password, :remember_me])
devise_parameter_sanitizer.permit(:sing_in, keys: [:name, :email, :password, :remember_me])
devise_parameter_sanitizer.permit(:account_update, keys: [:name, :email, :password, :current_password])
end
end
10)完成!下記にURLで表示されればOK。
新規登録&ログイン機能は問題なく動作する。
http://localhost:3000/users/sign_up
http://localhost:3000/users/sign_in
以上です。一瞬でできてしまいます。
すべてコピペでも作れますが、手入力すると覚えやすいです!