プログラミング学習2か月ちょいのクソ雑魚初心者です。
現在ポートフォリオでActionTextを導入した際に起こったエラーについて忘れないためにメモ書きと同時に、こちらへ初投稿しようと思い立ちました。
発生した問題
Ruby on Railsで投稿サイトを作っていて、下の画像みたいな感じに投稿画面にActionTextを導入しました。
で、投稿フォームは問題なかったけど投稿後のshowページが…
試しにテストで投稿します。
すると、、、
なんか変!!コードで書いちゃったみたいになってる!!
ということでこちらの投稿文が正しく表示されるように修正していこうと思います。
結論から言うと原因は、、、
データベースが問題でした!!!
自分の投稿(post)のmigrateファイルが
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のモデルファイルが
class Post < ApplicationRecord
---省略---
has_rich_text :introduction
---省略---
end
上記の2ファイルを見比べると
「introduction」のカラムが被ってしまっています。
これが原因だったんですねぇ…
てことで、解決法いきます。
①まずはデータベース修正
まずマイグレーションファイルのintroductionのカラムを消します
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
③これで治ってるはず…!
改行や太字、リスト表示も問題なく表示されました!!!!!!
最後に
プログラミング初心者でこちらに投稿するか迷ったのですが、こちらについてのエラーはどこにも記載がなかったため投稿しようと思いました。
同じエラーに当たった人のお役に立てれば幸いです。