前提・実現したいこと
フォームにテキストを入力してDBの”post”テーブルへデータを保存したいのですが、
保存ができません。
エラー文は出ていません。
どなたか、教えていただけませんでしょうか。
該当のソースコード
routes.rb
Rails.application.routes.draw do devise_for :users root 'posts#index' resources :users resources :forums resources :posts end
posts_controller.rb
class PostsController < ApplicationController def index @post = Post.all end def new @post = Post.new end def create @post = Post.create(post_params) end private def post_params params.require(:post).permit(:text, :image).merge(user_id: current_user.id) end end
post.rb
class Post < ApplicationRecord belongs_to :user belongs_to :forum has_many :likes_posts end
posts/index.html.haml (該当箇所のみ抜粋)
.form = form_for @post.create do |f| = f.text_field :text, class: 'container', placeholder: 'type a post' .form__mask = f.label :image, class: 'form__mask__image' do = f.file_field :image, class: 'hidden' = f.submit '投稿する', class: 'form__submit'
試したこと
posts_controller.rbのcreateアクションの記述
def create
@post = Post.create(post_params)
if @post.save
redirect_to root_path
else
render :new
end
end
を試したが、保存できませんでした。
開発環境
Ruby 2.5.1
Rails 5.2.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/25 04:22
2019/12/25 04:33
2019/12/25 06:38
2019/12/25 07:26
2019/12/26 05:30