【rails】テキストエディターの導入(2)

※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

テキストエディターの導入

前回、ActionTextのインストールができた


articleモデルのcontentを編集する

contentのテキストエディターを強化する

app/models/article.rbを開く

has_rich_text :contentを追加

class Article < ApplicationRecord
  has_rich_text :content

これにより、contentのテキストエディターが強化される


contentの値の行き先が変わる

action_textをインストールしたときに以下のファイルが作成されている

20241027022747_create_action_text_tables.action_text.rb

今後、Articleのcontentはすべてこのデータベースに保存される


既存のcontentカラムを削除する

今までcontentはArticlesのデータベースに保存されていた

今後は保存されなくなるので、Articlesのデータベースからcontentを取り除くためのマイグレーションファイルを作る

rails g migration RemoveContentFromArticles

db/migrate/20241027042508_remove_content_from_ariticles.rbがうまれる

ファイル名は「Remove」+「(削除するカラム)」と名付けることが慣例になっている


remove_columnする

以下のコードを書く

class RemoveContentFromArticles < ActiveRecord::Migration[6.0]
  def change
    remove_column :articles, :content, :text
  end
end

このとき、:textは書かなくてもremoveできる

ただ今後、rails db:rollbackするとき、型が記載されていないとremoveの逆の動作(add)が行えない

なので型も記載しておくのが◎


migrationを実行する

rails db:migrate

実行後、Schema.rbのArticleからcontentが除かれている

#DAY1