什么是弃用的查找的替代品(params [:id])

时间:2016-04-07 17:54:01

标签: ruby-on-rails rubymine

我在代码中看到警告已被弃用。但是,我似乎无法理解我应该用什么来代替find。

例如,我有以下内容:

 private
    # Use callbacks to share common setup or constraints between actions.
    def set_search
      @search = Search.find(params[:id])
    end

现在适当的陈述是什么?

1 个答案:

答案 0 :(得分:2)

我不认为 find 方法已被弃用。但是我认为它会在使用find方法时抛出错误,好像传递了 params [:id] 没有保存正确/现有的记录id,那么它会抛出错误。

因此最好使用 where 子句

@search = Search.where(:id => params[:id]).first
if @search
  #write the code here
end

代替