LoginSignup
0
0

More than 1 year has passed since last update.

railsにActionTextを導入したら、showページで投稿が変になっちゃったので対処

Posted at

プログラミング学習2か月ちょいのクソ雑魚初心者です。
現在ポートフォリオでActionTextを導入した際に起こったエラーについて忘れないためにメモ書きと同時に、こちらへ初投稿しようと思い立ちました。

発生した問題

Ruby on Railsで投稿サイトを作っていて、下の画像みたいな感じに投稿画面にActionTextを導入しました。
222222222222.JPG

で、投稿フォームは問題なかったけど投稿後のshowページが…

試しにテストで投稿します。
222222222222.JPG
すると、、、
333333333333333.JPG
なんか変!!コードで書いちゃったみたいになってる!!

ということでこちらの投稿文が正しく表示されるように修正していこうと思います。

結論から言うと原因は、、、

データベースが問題でした!!!

自分の投稿(post)のmigrateファイルが

~~~~_create_posts.rb
class CreatePosts < ActiveRecord::Migration[6.1]
  def change
    create_table :posts do |t|

      t.string :title, null: false
      t.string :introduction, null: false
      t.integer :user_id
      t.integer :post_tag_id
      t.boolean :status, default: true
      t.boolean :is_ban, default: false

      t.timestamps
    end
  end
end

そしてpostのモデルファイルが

post.rb
class Post < ApplicationRecord

---省略---

  has_rich_text :introduction

---省略---

end

上記の2ファイルを見比べると
「introduction」のカラムが被ってしまっています
これが原因だったんですねぇ…

てことで、解決法いきます。

①まずはデータベース修正

まずマイグレーションファイルのintroductionのカラムを消します

~~~~_create_posts.rb
class CreatePosts < ActiveRecord::Migration[6.1]
  def change
    create_table :posts do |t|

      t.string :title, null: false
      - t.string :introduction, null: false #←ここの行を消す
      t.integer :user_id
      t.integer :post_tag_id
      t.boolean :status, default: true
      t.boolean :is_ban, default: false

      t.timestamps
    end
  end
end

②マイグレートしなおし

そしてターミナルでデータベースをマイグレートをしなおします。

rails db:migrate:reset

※ここで自分はデータベースをリセットしちゃってますが、それが嫌な人は下記URLを参照してください
https://qiita.com/pyon_kiti_jp/items/a23660d20e76fffa5dd4

③これで治ってるはず…!

てことで、投稿してみます。
以下の様に投稿すると、、、
44444444444.JPG

55555555555555555555555.JPG

改行や太字、リスト表示も問題なく表示されました!!!!!!

最後に

プログラミング初心者でこちらに投稿するか迷ったのですが、こちらについてのエラーはどこにも記載がなかったため投稿しようと思いました。
同じエラーに当たった人のお役に立てれば幸いです。

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