如何将此查找查询方法转换为使用where方法(只是尝试在rails中改善自己)?
@deals = Deal.find(params[:id])
我已经尝试了
@deals = Deal.where(deal_id: params[:id])
和
@deals = Deal.where("deal_id = params[:id]")
但是没有得到任何结果 - 我收到了未定义的方法错误和各种其他错误。有什么帮助吗?
由于
答案 0 :(得分:2)
安全的方法是:
@deals = Deal.where("deal_id = ?", params[:id])
答案 1 :(得分:1)
您可以这样查询:
@deal = Deal.where(id: params[:id])
答案 2 :(得分:1)
@deal = Deal.find(params[:id])
等效
@deal = Deal.where(id: params[:id]).first
如果记录不存在,.find()将返回异常。
.where()。如果记录不存在,则首先返回nil。