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.

投稿機能のエラー解決

Posted at

アウトプットです。
データがビューに反映されなかった投稿機能解決致しました
結論から言うと、ユーザー機能とカテゴリー機能に外部キー制約がかかっており
nullで値を返せないのが原因でした。

それにしてもモデル.createはたとえparamasを受け取らなくてもエラーが出ないらしい。。。
変わりにモデル!paramsとやると明確にエラー内容が表示され、原因究明にたどり着くことができました。

top_page_controller.rb
class TopPageController < ApplicationController
  def index
    @toppages = TopPage.all
  end

  def new
    @toppage = TopPage.new
  end

  def create
    TopPage.create!(top_page_params)
    redirect_to top_page_index_path
  end

  def show
  end

  private
  def top_page_params
    params.require(:top_page).permit(:contents)
  end
end
new.html.haml
.post
  = form_for @toppage, url:{controller: 'top_page', action: 'create'} do |f|
    .post__title
      悩み投稿
    .post__form
      ◎内容
      .post__form__text
        = f.text_area :contents, class: 'post__form__text__area'
    .post__genre
      .post__genre__title
        ◎ジャンル
      .post__genre__type
        お金
    .post__name
      .post__name__title
        ハンドルネーム
      .post__name__type
        mori
    .post__tag
      .post__tag__tag1
        タグ1
      .post__tag__tag2
        タグ2
      .post__tag__tag3
        タグ3
    .post__btn
      .post__btn__link
        =f.submit "投稿する"
top_page.rb
class TopPage < ApplicationRecord
  # belongs_to :user
  # belongs_to :category 
end

つまり改善はモデルのアソシエーションをコメントアウトしただけです笑
ユーザ−機能とカテゴリ機能を実装していないのにモデルにバッチリ記述してたから
nullで返せなかったみたいです。気をつけないと

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?