加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 04:33:56 所属栏目:百科 来源:网络整理
导读:我有以下ActiveRecord调用: @payment = account.business.payments.find(params[:id]) 其中通过关联搜索id为params [:id]的付款.但是,这会抛出RecordNotFound异常. 我想打电话给存在吗?而是查看记录是否存在以避免抛出异常.执行Payment.exists?(account.
我有以下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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读