railsで投稿機能を作成しており、いざ投稿しようとすると、タイトルのようなエラーが発生してしまいます。
エラーの発生ファイルや行などの情報はなく、このエラーだけが表示されるので、どこが原因なのかわからず、詰まっています。ご教授願います。
posts.controller.rb
1class PostsController < ApplicationController 2 before_action :authenticate_user 3 bedore_action :ensure_correct_user, {only: [:edit, :update, :destroy]} 4 5 def index 6 @posts = Post.all.order(created_at: :desc) 7 end 8 9 def show 10 @post = Post.find_by(id: params[:id]) 11 @user = @post.user 12 end 13 14 def new 15 @post = Post.new 16 end 17 18 def create 19 @post = Post.new(post_params) 20 @post.user_id = @current_user.id 21 @post.save 22 redirect_to("/") 23 end 24 25 def destroy 26 @post = Post.find_by(id: params[:id]) 27 @post.destroy 28 flash[:notice] = "削除...しちゃったよ" 29 redirect_to("/") 30 end 31 32 def ensure_correct_user 33 @post = Post.find_by(id: params[:id]) 34 if @post.user_id != @current_user.id 35 flash[:notice] = "権限がありません" 36 redirect_to("/") 37 end 38 end 39 40 private 41 def post_params 42 params.require(:post).permit(:content, :image) 43 end 44 45end
newhtmlerb
1<% @post = Post.new unless @post %> 2 3<div class="main posts-new"> 4 <div class="container"> 5 <h1 class="form-heading">投稿する</h1> 6 7 <div class="box2"> 8 <p>投稿本文の内容は、140文字までです。<br>本文が空の状態での投稿はできません。</p> 9</div> 10 11 12<%= form_for @post,:url => {:action => :create} do |f| %> 13 14<div class="form"> 15 <div class="form-body"> 16 <p>募集内容(最大140文字)</p> 17<%= f.text_area :content, class: "js-text" %> 18<p class="js-text-count"></p> 19 20<%= f.file_field :image %> 21<%= f.submit "投稿する" %> 22</div> 23 </div> 24<% end %> 25</div> 26</div>
showhtmlerb
1<div class="main posts-show"> 2 <div class="container"> 3 <div class="posts-show-item"> 4 <div class="post-user-name"> 5 <img src="<%= "/user_images/#{@user.image_name}" %>"> 6 <%= link_to(@user.name, "/users/#{@user.id}") %> 7 </div> 8 <p> 9 <%= @post.content %> 10 </p> 11 <div class="show-img"> 12 <% if @post.image? %> 13 <%= image_tag @post.image.url, :class=>"img" %> 14 <% end %> 15 </div> 16 <div class="post-time"> 17 <%= @post.created_at %> 18 </div> 19 <% if @post.user_id == @current_user.id %> 20 <div class="post-menus"> 21 <%= link_to("削除", "/posts/#{@post.id}/destroy", {method: "post"}) %> 22 </div> 23 <% end %> 24 </div> 25 </div> 26 </div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。