CommandsController には次の 2 つのメソッドがあります。
class CommandsController < ApplicationController
.
.
.
def userslist
@command = Command.find_by(id: params[:id])
@users_list = @command.users.paginate(page: params[:page], per_page: 10)
end
def deleteuser
user = User.find_by(id: params[:id])
user.commands.destroy(@command)
flash[:success] = "Utente eliminato dalla lista con successo"
redirect_to list_path(@command)
end
.
.
.
end
deleteuser メソッドを実行すると、次のエラーが表示されます:
Command(#31369720) expected, got NilClass(#19349600)
related to lineuser.commands.destroy(@command)
これは、@command が nil であることを意味しますが、なぜそうなるのでしょうか? @command は、クラスのすべてのメソッドから見えるインスタンス変数ではありませんか?
PS deleteuser メソッドを呼び出すには、userslist メソッドを使用する必要があるため、@command は確かに nil ではありません。