RAILS只列出与当前用户相同的id



下午好。我是Rails的新手,我正在使用谷歌翻译在这里发布。我有这3个表,以及它们之间的关系:

table: ata_publics
- ata_public_id
- provider_id
table: ride_requests
- ride_request_id
- hitchhiker_id
table: payments
payment_id
ride_request_id

关系是这样的:模型:付款

belongs_to :ride_request

模型:ride_request

belongs_to :ata_public
has_one :payment
belongs_to :hitchhiker, class_name: "User"

模型:ata_public

has_many :ride_request
has_one :payment
belongs_to :provider, class_name: "User"

我的问题是:我想列出与当前用户具有相同provider_id的所有付款。

如果我尝试在支付中做类似的事情:self.ride_request.ata_public。Provider_id获取提供商的id,给出错误:NoMethodError:未定义的方法' ride_request'

我不知道这是否令人困惑,但当我列出所有付款时,它们都来了,我只想要来自provider_id等于当前用户的付款。

def index
@payments = Payment.all

render json: Paginate.new(
pagination_params[:page],
pagination_params[:limit]
).call(@payments), status: 200

[!(imagem_table): https://i.stack.imgur.com/EIzx2.png

改变

@payments = Payment.all

@payments = Payment
.joins(ride_request: :payment)
.where(payments: { provider_id: current_user.id })

最新更新