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

find の代わりに where を使用できます。レコードが見つからない場合、find は例外を発生させます。したがって、代わりにこれを使用します。

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

また

@var = Place.find_by_id(acc_id)

それらは例外を発生させません。:)

于 2013-02-14T14:20:24.933 に答える