Rails重构代码

akb*_*bin 1 refactoring controller ruby-on-rails

我有一个代码如下:

  @brand = Brand.find_by_id(params[:id])
  if @brand.nil?
    flash[:error] = Flash.record_not_found
    redirect_to admin_brands_path
  end
Run Code Online (Sandbox Code Playgroud)

以下是另一个变化:

@brand = Brand.find_by_id(params[:id])
return(flash[:error] = Flash.record_not_found and redirect_to admin_brands_path) if @brand.nil?
Run Code Online (Sandbox Code Playgroud)

您认为哪种代码更有效并且可以解释?当你有另一个建议你也可以分享.

提前致谢.

Ped*_*nto 5

我这样做:

def action
  @brand = Brand.find(params[:id])
rescue ActiveRecord::RecordNotFound
  redirect_to admin_brands_path, flash: {error: Flash.record_not_found}
end
Run Code Online (Sandbox Code Playgroud)