0

当我尝试在我的帮助程序中验证时,如果我的数据库有记录,则验证程序会停止并出现此错误:

ActiveRecord::RecordNotFound in FinancesController#index

Couldn't find Place with id=5

我使用这个助手:

  def get_acc_name(acc_id)
    @var = Place.find(acc_id)
    if @var.kind_of?(Array)
    @var = @var.place 
    else
    @var = "(Deletado)"
    end
    return @var
  end  

问题是脚本在第一行停止并且字体生成一个 if else,我不知道我该如何解决这个问题

4

1 回答 1

1

您可以使用 where 而不是 find。如果找不到记录, find 会引发异常。所以,改用这个:

@var = Place.where(:id => acc_id).first

或者

@var = Place.find_by_id(acc_id)

他们不会引发异常。:)

于 2013-02-14T14:20:24.933 回答