Проблема: Я получаю сообщение об ошибке (указано ниже) при попытке сохранить данные формы с одного контроллера на другой.
Ожидается StripeAccount (# 473341532384680), получен "acct_7424613FLPIHiXZ"
который является экземпляром String (# 47334237953540)
Вопрос: Что в моем коде создает ошибку?
У меня есть форма ввода, которая работает, но я хочу взять из нее некоторые данные и добавить их в другое место на отдельный контроллер.
Форма предназначена для пользователей и контроллера stripe_account. Я хочу взять acct.id из stripe_account, а также сохранить его в таблице @user в stripe_account.
Модель пользователя:
has_one :stripe_account
Stripe_account Модель:
belongs_to :users
Контроллер Stripe_account:
def new
@stripe_account = StripeAccount.new
@user = User.find(params[:user_id])
end
def create
@stripe_account = StripeAccount.new(stripe_account_params)
@user = User.find(params[:user_id])
@stripe_account.user_id = current_user.id
acct = Stripe::Account.create({
.....
.....
@stripe_account.acct_id = acct.id
#below is what isn't working
@user.stripe_account = acct.id
respond_to do |format|
if @stripe_account.save!
format.html { redirect_to new_bank_account_path, notice: 'Stripe account was successfully created.' }
format.json { render :show, status: :created, location: @stripe_account }
else
format.html { render :new }
format.json { render json: @stripe_account.errors, status: :unprocessable_entity }
end
end
end
Вид:
<%= form_for ([@user, @stripe_account]) do | f | %>
Маршруты:
resources :users do
resources :stripe_accounts
end
, но получил ошибку: StripeAccount (# 473341532384680) ожидается, получил «acct_7424613FLPIHiXZ», который является экземпляром String (# 47334237953540)
... В схеме Users у меня есть "stripe_account" в виде строки.
Я пытался
acct_id = current_user.stripe_account
и другие итерации этого. Я предполагаю, что проблема в моей модели, поэтому я попытался:
accepts_nested_attributes_for: stripe_account
но появилась та же ошибка.