2021-04-01から1ヶ月間の記事一覧

render

Railsを学習していてrenderを使うことは多々あります。 なんとなく使っていて理解が浅いと感じたので、一度しっかりおさらいして renderを使いこなせるようにしたい、と思いアウトプットすることに。 renderを使う場面 renderを使う場面は大きく分けて2種類…

サイトのタイトルを動的に表示させる

サイトのタイトルを各ページ毎に変えたいときの手順です。 ・ヘルパーの作成 ・共通レイアウトに埋め込み ・各viewページで呼び出し の流れでやっていきます。 ヘルパーの作成 module ApplicationHelper def page_title(page_title = '') base_title = 'hoge…

エラーメッセージの表示

フォームに値が入っていない時にエラーメッセージを表示させたい。 エラーメッセージは使い回したいのでパーシャル化しておきます。 <% if object.errors.any? %> # 特定の変数ではなくobjectとすることで汎用化 <div class='alert alert-danger'> <ul class='mb-0'> <% object.errors.full_messages.each do |</ul></div>…

ランダムなレコードを1件取得する

親モデルに紐付いた子モデルのテーブルのダミーを作る際、 親モデルの取得方法にハマってしまったので忘備録。 10.times do title = Faker::Restaurant.name #gem fakerを使ってます body = Faker::Restaurant.description user = User.offset(rand(User.cou…

Gem 'draper'を使ってDecoratorを導入

Decoratorとは ソフトウェアデザインパターンの1つで、既存のオブジェクトに新しい機能や振る舞いを動的に追加するもの ModelやHelperでもよさそうだが ・Modelに何でもかんでも詰め込むのはよくない(FatModel対策) ・ModelにはDBにアクセスするような処理の…

i18nの導入

i18nを使って日本語に対応します デフォルト言語を日本語に設定 module RunteqNormal class Application < Rails::Application config.i18n.default_locale = :ja #デフォルトのlocaleを日本語にする config.i18n.load_path += Dir[Rails.root.join('config'…

form_with

form_with 情報を送信するためのヘルパーメソッド <%= form_with url: root_path do |f| %> <%= f.text_field :name %> <%= f.submit %> <% end %> のようにするとボタンをクリックしたときrootに設定したurlに遷移する。 <%= form_with model: @user do |f|…

rails g コマンドで自動生成されるファイルを設定する

rails g コマンドではファイルを自動生成してくれるが、不要なファイルがある場合は設定で生成しないようにできる。 class Application < Rails::Application config.generators do |g| #ここに設定を記述 #例 g.assets false end end のように設定できる。

データベース関連のコマンド

データベースの編集について調べたのでいくつか書いておきます。 データベースの中身を空にする rails db:migrate:reset ロールバック(最新のマイグレーションファイルをdown状態にする) rails db:rollback 2つ以上前のマイグレーションファイルをロールバッ…

redirect_toの引数のインスタンス変数は何を表してるか

redirect_to @○○ はどういう意味? このコードは一体どこにredirectしているのか? redirect_to @post 調べてみると色んなものが省略されてこのように表記されているらしい。 redirect_to "/posts/#{@post.id}" が省略されて redirect_to post_url(@post.id)…