ruby-on-rails – ActiveRecord存在吗?与协会

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ActiveRecord存在吗?与协会前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下ActiveRecord调用
@payment = account.business.payments.find(params[:id])

其中通过关联搜索id为params [:id]的付款.但是,这会抛出RecordNotFound异常.

我想打电话给存在吗?而是查看记录是否存在以避免抛出异常.执行Payment.exists?(account.business.payments.find(params [:id]))不起作用.

我只想搜索属于该商家的付款,而不是通过Payment.exists搜索所有付款?(:id => params [:id]).这样我就知道这是特定账户的业务付款.

我怎样才能做到这一点?

注意:
帐户has_one业务和业务has_many付款.

解决方法

使用where而不是find,它将返回一个表示0或更多记录的ActiveRecord :: Relation,你可以将其链接到.exists?:
@payments = account.business.payments.where(id: params[:id])


if @payments.exists?
  # ...
end
原文链接:https://www.f2er.com/ruby/269337.html

猜你在找的Ruby相关文章