Rails Helper中获取记录时出错

时间:2013-02-14 14:06:07

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rails-activerecord

当我尝试在我的帮助器中验证我的数据库是否有记录这个停止在验证器上时出现此错误:

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 if else,我不知道我怎么解决这个问题

1 个答案:

答案 0 :(得分:1)

您可以使用where而不是find。如果找不到记录,则查找引发异常。所以,请改用它:

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

@var = Place.find_by_id(acc_id)

他们不会引发异常。 :)