2021-05-01から1ヶ月間の記事一覧
UserモデルとBoardモデルにアソシエーションを設定 Userと関連付いたboardを作成するので、has_manyをUserモデルに定義する。 class User < ApplicationRecord authenticates_with_sorcery! validates :password, length: { minimum: 3 }, if: -> { new_reco…
モデルの作成 Boardモデルの作成しtitle,bodyカラムを追加する。 Boardモデルにuser_idを外部キーとして設定する。 紐づくモデル名+「_id」で外部キーと呼ぶ。 reference型を使いモデルと同時に作成。 $ rails g model board title:string body:text user:re…
掲示板の一覧にダミーデータを投入する。 gem Fakerのインストール。 Fakerはdevelopmentとtest環境にインストールする。 group :development, :test do #... gem 'faker' #... end bundle installで完了。 データベース上にダミーデータを生成 今回はBoard…
Decoratorについて Decoratorとはソフトウェアのデザインパターンのひとつであり、モデルとviewの間に追加する。 「モデル→Decorator→view」のようにviewを装飾するメソッドを追加するときはモデルではなく、デコレーターへ追加する。 Decoratorを導入すれば…
概要 以下のflashメッセージをbootstrapで表示させる。 ログイン成功時・・・「ログインしました」 ログイン失敗時・・・「ログインに失敗しました」 ログアウト時・・・「ログアウトしました」 ユーザー登録時・・・「ユーザー登録が完了しました」 ユーザ…
i18nを使用しユーザー登録画面とログイン画面を日本語化する。 i18n国際化(Internationalization)はRailsにおいて、言語の翻訳機能があるgemである。 実行環境 Rails5.2.3 Ruby2.6.4 gem 'rails-i18n'をGemfileに記述し、bundleする。 # rails5系なら以下を…
概要 sorceryとは、railsで作成されたアプリケーションに対し、ログイン機能を実装させるgem。 認証用gemであるdeviseと比較すると、sorceryはある程度のコードは自分で書かなければいけなく、deviseよりコードを書く量が多いがその分カスタマイズ性があり、…