【问题标题】:Error on get record in Rails Helper在 Rails Helper 中获取记录时出错
【发布时间】:2023-03-06 05:10:01
【问题描述】:

当我尝试在我的助手中验证时,如果我的数据库有记录,则验证器上会出现此错误:

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,我不知道我该如何解决这个问题

【问题讨论】:

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


    【解决方案1】:

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

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

    @var = Place.find_by_id(acc_id)
    

    他们不会引发异常。 :)

    【讨论】:

    • 感谢使用 find_by_id 的即时求解器并验证简单的 if @var,感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 2019-09-21
    • 2012-01-26
    • 2022-08-04
    • 2021-09-19
    • 2020-01-11
    • 1970-01-01
    相关资源
    最近更新 更多