У меня есть форма для сохранения в моей таблице Stripe_account. Я недавно вложил ресурсы, и теперь форма не будет сохранена в моей таблице базы данных. Я все еще работаю с Stripe API и работаю там, хотя.
Чего в моем коде не хватает?
Модель пользователя:
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])
acct = Stripe::Account.create({
.....
.....
@stripe_account.id = current_user.id
@stripe_account.acct_id = acct.id
respond_to do |format|
# @user = User.find(params[:id])
if @stripe_account.save
# current_user = @user
@user.stripe_account = acct.id
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
#added for testing
get 'stripe_' => "stripe_account#create"
get 'stripe_new' => "stripe_account#new"
Вот мои маршруты, может быть, могут помочь ?: https://pastebin.com/RVWd2Qq9
Теперь, хотя у меня еще нет правильно настроенного контроллера или моделей "bankaccount", не должен ли он хотя бы попытаться пойти туда и сохранить stripe_account? Просто убедитесь, что это не проблема. Но похоже, что он не работает, потому что новая форма перезагружается.
API также успешно проходит, и учетные записи появляются в полосе, а не в моей собственной базе данных.
Что в моем программировании не так?
Обновление для добавления ответа cmd:
Started POST "/users/2/stripe_accounts" for 127.0.0.1 at 2018-11-10 00:11:26 -0500
Processing by StripeAccountsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"nz1234567890iJuFwsm/Z4ylhE6zoGdWN6QCfWtDZTH1sxZu/WCdWMKBGkc4zoZ2dOgk9c8UDwRzgqdxrT/sA==", "stripe_account"=>{"account_type"=>"individual", "business_name"=>"", "business_tax_id"=>"", "first_name"=>"Dill", "last_name"=>"Pickles", "ssn_last_4"=>"1234", "dob_month"=>"3", "dob_day"=>"4", "dob_year"=>"1917", "address_line1"=>"198 berry avenue", "address_city"=>"san fran", "address_state"=>"CA", "address_postal"=>"90213", "tos"=>"1", "id"=>"2"}, "full_account"=>"{:value=>\"true\"}", "button"=>"", "user_id"=>"2"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ? [["id", 2], ["LIMIT", 1]]
↳ /home/bob/.rvm/gems/ruby-2.5.1/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]]
↳ app/controllers/stripe_accounts_controller.rb:49
(0.1ms) begin transaction
↳ app/controllers/stripe_accounts_controller.rb:91
(0.1ms) rollback transaction
↳ app/controllers/stripe_accounts_controller.rb:91
Rendering stripe_accounts/new.html.erb within layouts/application
Rendered stripe_accounts/_account_form.html.erb (9.4ms)
Rendered stripe_accounts/new.html.erb within layouts/application (12.5ms)
Rendered layouts/_navbar.html.erb (1.9ms)
Rendered layouts/_footer.html.erb (0.4ms)
Completed 200 OK in 3202ms (Views: 190.0ms | ActiveRecord: 2.4ms)