タグ「Ruby On Rails」がついた記事

該当件数:23件 このタグがついたログをみる

Railsの単一テーブル継承(STI)

一つのテーブルだけで、サブクラスのデータも管理できる。RailsではSTIを使えるようになっている。 使うにはまず、スーパークラスにtypeカラムを持たせる。 $ rails g model Product name:st...

Rails6でCapistranoを使ってデプロイする

Capistranoでのデプロイの仕方をまとめていきます。これを使えばあっという間にデプロイが終わっちゃいます。凄いですね・・ なおWebサーバにはnginx、アプリケーションサーバにはpumaを使用します。これら二つを使ったサ...

rails6の秘匿情報の扱い方

credentials.yml.encについて 外部に漏れてはいけない、秘匿情報を扱う仕組み。config/credentials.yml.encに記述する。ただしこのファイルは暗号化されていて、config/master.keyを...

Rails6でpumaとnginxを連携

pumaとnginxを連携させて、 静的ファイルはnginxから配信 動的処理はrailsアプリケーションに こうなるようにしていきます。1からrailsアプリケーションを作成し、さくらVPS上で作業します。...

railsでデメテルの法則を守るためのdelegateメソッド

デメテルの法則を調べる中で知りました。これを使えば、Railsの記述を簡略化できます。 デメテルの法則とは 以下、Wikipediaより引用します。 デメテルの法則 (Law of Demeter, LoD) または...

テスト関係のrails generateコマンドまとめ

rails generateでテストファイルを作成できるコマンドをまとめます。 モデルテスト $ rails generate test_unit:model article title:string Running ...

Capybaraを使ってシステムテストを書く

Capybaraの使い方についてです。Webブラウザでの実際のユーザーの動きを想定して、システムテストを書くことができます。railsにデフォルトで入ってます。 システムテストのファイルを作成 以下のコマンドで作成できます。 ...

RailsのDateとTimeの扱い方

RailsではActiveSupportによる拡張のおかげで、様々な時刻に関するメソッドが追加されています。今回はそれらをまとめていきます。 Timezoneの設定 時刻の基準となるのはDate.current(もしくはTim...

Railsの便利なpluckメソッド

モデルの全レコードから指定したカラムの値だけを取ってこれます。 例えば、Userモデルのidとnameカラムだけを配列型式で取りたいとします。普通にRubyで書くと以下のような感じです。 User.select(:id, ...

Railsのスコープについて

モデルで頻繁に出てくる処理を、スコープを使うことで簡潔に記述できるようになります。可読性が高くなるので、できるだけ使った方が良さそうです。 class User < ApplicationRecord scope...

Railsでフォロー機能を実装する(+ajaxで)

フォロー機能の実装方法を説明していきます。ajax も使用します。 マイグレーション 以下のコマンドを実行してください。 $ rails g model follow following:references follo...

Railsでポリモーフィック関連付けとajaxを使ってコメント機能を実装

タイトルの通りです。コメント機能が実装できたので、その方法を解説していきたいと思います。 少々javascript(というかjquery)の知識も必要ですが、あんま難しいことはしてないので大丈夫です。なお、Railsでjquer...

Railsでビュー内のループ処理を簡潔にスマートに書く

以下のようにビューでループ処理を記述することはよくあると思います。 app/views/users/index.html.erb <% @users.each do |user| %> <p>...

Active storageの N+1 問題を includes を使って解決する方法

1 対 N 対 1のときの N+1 問題を解決したかった。調べまくって、ようやく解決できたのでメモ。 以下のようにUserモデルとPostモデルが関連づけられていて、それぞれ一つの添付モデルがあるとします。 class B...

railsのreferencesについて

モデル間にn対nの関係を持たせる時に使います(n >= 1)。 以下のような、ユーザーがたくさんの投稿を持つ状況を想定します。 class User < ApplicationRecord has_m...

ActiveStorageを使って画像アップロード機能を実装する

今回は画像アップロード機能を実装していきます。RailsだとActiveStorageを使えば簡単に実装できちゃいます。 ActiveStorageセットアップ $ rails active_storage:install ...