【rails】ckeditorを使ってブログ投稿画面を作成する

ブログの投稿機能を試してみたかったのでやってみました。 参考記事はこちらです。

joppot.info

ckeditorというgemを使って投稿画面を作ります。

rails new blog-sample -d mysql
rake db:create
gem 'ckeditor'
gem 'rmagick'
gem 'mini_magick'

bundle install。 だけど、ここでエラーなんですよね。

An error occurred while installing rmagick (2.16.0), and Bundler cannot
continue.
Make sure that `gem install rmagick -v '2.16.0'` succeeds before bundling.

もうこのエラーがなかなか解決できないじゃない。 調べて調べてimagemagickのバージョンが7系だとうまくrmagickが入らないことが判明。

qiita.com

この記事を参考にしたらうまく入りました。本当にありがとうございます。

scaffoldでもろもろ作成。

rails g scaffold Editor title:string description:text

ここまででこんな感じ。 f:id:utr066:20170214193857j:plain f:id:utr066:20170214193915j:plain

  <div class="field">
    <%= f.label :description %><br>
    <%= f.text_area :description %>
  </div>
この部分を以下のように変更。
  <div class="field">
    <%= f.label :description %><br>
    <%= f.cktext_area :description %>
  </div>

以下の記述をapplication.jsに記述。

//= require ckeditor/init

これで見て見ると、、、 f:id:utr066:20170214194226j:plain やべえええええ。

ただこのまま投稿するとhtmlタグも出力されてしまいますね。 f:id:utr066:20170214195118j:plain

<%== %>を使うことによってhtmlも読み取ってくれるので変更して実行してみましょう。

f:id:utr066:20170214195228j:plain

いい感じです。 ckeditor使えば一瞬ですね。。。