Как получить (сопоставить) данные по нескольким таблицам в контроллере? - PullRequest
0 голосов
/ 12 ноября 2018

Вопрос: Как я могу получить данные, которые связаны друг с другом в моем контроллере, от отдельных контроллеров и моделей?

Проблема: Мне нужен мой @order.seller_id (который соответствует @ user.id), а затем мне нужен @ user.stripe_token.

Так что в конечном итоге мне нужен @ user.stripe_token из правильного user_id, который сопоставляется через @order.seller_id

В заказе есть seller_id, который является идентификатором пользователя.Этот идентификатор одинаков для всех таблиц, к которым присоединен пользователь.Поэтому, чтобы перевести деньги, мне нужен правильный @user, идентификатор продавца связан с

Вот фрагмент кода, который мне нужен от моего контроллера заказов: (когда заказ обновляется, взимается платаЗахвачен, а продавец получает комиссию) Возможно, он не настроен на 100% правильно, но сейчас я нахожусь на этом месте.

charge = Stripe::Charge.create({
    :amount      => (@order.order_price).to_i * 100,
    :description => 'Rails Stripe customer',
    :currency    => 'usd',
    :customer => @order.stripe_customer_token,

    })

transfer = Stripe::Transfer.create({
    application_fee_percent: 75
    :currency    => 'usd',
    destination: ---here's where i need the correct @user.stripe_token ---,
    transfer_group: "notes_328324"
    })

1 Ответ

0 голосов
/ 12 ноября 2018

В классе Order вы можете сделать ...

belongs_to :seller, foreign_key: :seller_id, class_name: 'User'

Как только вы это сделаете, rails узнает об отношениях между Заказом и Пользователем, так что вы можете сделать ...

@order.seller.stripe_token
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...