#はじめに
自分用メモとして残します。
#環境
- Rails v6.0.3.2
- ruby v2.6.6p146
- node v12.18.3
- yarn v1.22.4
#手順
###1.アプリ作成
MySQLを使ったアプリを作成する。
$ rails new actionText -d mysql
作成したアプリに移動
###2.scaffold
scaffoldでアプリの雛形を作成する。
※articleはtitleとcontentを持つが、後で追加するためここではtitleのみでOK
$ rails g scaffold article title:string
###3.DB作成
$ rails db:create
###4.migrate
$ rails db:migrate
###5.Action Textインストール
$ rails action_text:install
###6.migrate
$ rails db:migrate
###7.アソシエーション
Action Textのデータは専用のテーブルに格納されるためarticleモデルに関連づける必要がある。
app/models/article.rb
class Article < ApplicationRecord
has_rich_text :content
end
###8.ビューにcontent追加
app/views/articles/_form.html.erb
# 省略
<div class="field">
<%= form.label :title %>
<%= form.text_field :title %>
<%= form.label :content %>
<%= form.rich_text_area :content %>
</div>
# 省略
app/views/articles/show.html.erb
<p id="notice"><%= notice %></p>
<p>
<strong>Title:</strong>
<%= @article.title %>
</p>
<p>
<strong>Content:</strong>
<%= @article.content %>
</p>
<%= link_to 'Edit', edit_article_path(@article) %> |
<%= link_to 'Back', articles_path %>
###9.コントローラにcontent追加
contentをparamsパラメータを読み出すメソッドに追加する。
app/controllers/articles_controller.rb
# 省略
def article_params
params.require(:article).permit(:title, :content)
end
# 省略
###10.image_processing
image_processingがないと画像が表示されない。
gem 'image_processing'
$ bundle install
終了