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…

Rails 掲示板一覧の作成

モデルの作成 Boardモデルの作成しtitle,bodyカラムを追加する。 Boardモデルにuser_idを外部キーとして設定する。 紐づくモデル名+「_id」で外部キーと呼ぶ。 reference型を使いモデルと同時に作成。 $ rails g model board title:string body:text user:re…

Fakerを利用しダミーデータを作成

掲示板の一覧にダミーデータを投入する。 gem Fakerのインストール。 Fakerはdevelopmentとtest環境にインストールする。 group :development, :test do #... gem 'faker' #... end bundle installで完了。 データベース上にダミーデータを生成 今回はBoard…

Decoratorの導入

Decoratorについて Decoratorとはソフトウェアのデザインパターンのひとつであり、モデルとviewの間に追加する。 「モデル→Decorator→view」のようにviewを装飾するメソッドを追加するときはモデルではなく、デコレーターへ追加する。 Decoratorを導入すれば…

Bootstrapでflashメッセージを実装

概要 以下のflashメッセージをbootstrapで表示させる。 ログイン成功時・・・「ログインしました」 ログイン失敗時・・・「ログインに失敗しました」 ログアウト時・・・「ログアウトしました」 ユーザー登録時・・・「ユーザー登録が完了しました」 ユーザ…

i18nによる日本語化

i18nを使用しユーザー登録画面とログイン画面を日本語化する。 i18n国際化(Internationalization)はRailsにおいて、言語の翻訳機能があるgemである。 実行環境 Rails5.2.3 Ruby2.6.4 gem 'rails-i18n'をGemfileに記述し、bundleする。 # rails5系なら以下を…

gem sorceryを使用し、ユーザー登録、ログイン機能を実装

概要 sorceryとは、railsで作成されたアプリケーションに対し、ログイン機能を実装させるgem。 認証用gemであるdeviseと比較すると、sorceryはある程度のコードは自分で書かなければいけなく、deviseよりコードを書く量が多いがその分カスタマイズ性があり、…