-1

我有一个在第 7 行报告错误的方法。当我在控制台中分别输入每一行时它运行良好,但是当我调用整个deleteUser方法时出现错误:

NoMethodError:nil:NilClass 的未定义方法“删除”

1 def self.deleteUser(user_id)
2  @user = User.where(:id => user_id).first
3 players = GameMember.where(:user_id => @user.id, :is_game_over => "FALSE")
4
5 if players.empty?
6  stat = Stat.where(:winners_id => @user.id).first
7  unless stat.nil?
8    stat.delete
9 end

  ....
4

1 回答 1

3

unless需要自己的end

if ...
  unless stat.nil?
    stat.delete
  end
end

您只能end在使用x unless y表单时省略:

if ...
  stat.delete unless stat.nil?
end

(该方法本身缺少end,但我假设您刚刚从代码中省略了该部分)。

于 2013-06-06T18:31:18.447 回答