title: Rspec ArgumentError: wrong number of arguments (given 2, expected 0)
body: <p>I have rspec test for nested object (comment), it is nested in posts object. Here is the routes.rb:</p>
  <pre><code>  use_doorkeeper
  
    resources :posts do
      resources :comments 
    end
  
    root &quot;posts#index&quot;
  end
  </code></pre>
  <p>Here is part of comments controller:</p>
  <pre><code> class CommentsController &lt; ApplicationController
    before_action :find_comment, only: [:destroy]
    before_action :authenticate_user!, only: [:destroy]
  
    def create
      @post = Post.find(params['post_id'])
      @comment = @post.comments.create(params[:comment].permit(:name, :comment, :user_id, :best, :file))
      respond_to do |format|
        format.html { redirect_to post_path(@post) }
        format.js
      end
    end
    private
  
    def find_comment
      @post = Post.find(params[:post_id])
      @comment = @post.comments.find(params[:id])
    end
  end
  </code></pre>
  <p>And here is rspec test:</p>
  <pre><code> require 'rails_helper'
  
      RSpec.describe CommentsController, type: :controller do
        let(:user) { create(:user) }
        let(:post) { create(:post) }
      
        sign_in_user
      
        setup do
          allow(controller).to receive(:current_user).and_return(user)
        end
      
        describe 'POST #create' do
          context 'with valid attributes' do
            let!(:posts) { post :create, params: { post_id: post, comment: attributes_for(:comment) } }
      
            it 'saves the new comment in the database' do
              expect {{ comment: attributes_for(:comment) } }.to change(Comment, :count).by(1)
            end
          end
        end
      
      end
  </code></pre>
  <p>Additional factory file for comments:</p>
  <pre><code> FactoryBot.define do
    factory :comment do
      comment { 'Comment' }
      name { 'Name' }
      post
      user_id { create(:user).id }
    end
  end
  </code></pre>
  <p>Macros to authorize user:</p>
  <pre><code> module ControllerMacros
    def sign_in_user
      before do
        @user = create(:user)
        @request.env['devise.mapping'] = Devise.mappings[:user]
        sign_in @user
      end
    end
  end
  </code></pre>
  <p>So when I run spec test, I got this error:</p>
  <pre><code> ArgumentError: wrong number of arguments (given 2, expected 0)
  </code></pre>
  <p>What may be the problem, why can't I run CREATE rspec?</p>