0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rails Action Textの実装

Last updated at Posted at 2020-09-11

#はじめに
自分用メモとして残します。

#環境

  • 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

終了

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?