STRIPE ROR: нет маршрутов, соответствующих расходам / новая ошибка - PullRequest
0 голосов
/ 25 июня 2018

Я новичок в ROR,

Я пытаюсь интегрировать нашивка в мой проект ROR по этой ссылке: https://stripe.com/docs/checkout/rails

Я добавил все какони предложили, когда я иду на http://localhost:3000/charges/new маршрут, это дает мне следующую ошибку:

No route matches charges/new error

config / rout.rb

Rails.application.routes.draw do

  mount API::Root => '/'

  # Getting unmatched routes
  get '*unmatched_route', to: 'application#raise_not_found'

  resources :charges

end

Вот сгенерированные маршруты:

                   charges GET    /charges(.:format)                                           charges#index
                           POST   /charges(.:format)                                           charges#create
                new_charge GET    /charges/new(.:format)                                       charges#new
               edit_charge GET    /charges/:id/edit(.:format)                                  charges#edit
                    charge GET    /charges/:id(.:format)                                       charges#show
                           PATCH  /charges/:id(.:format)                                       charges#update
                           PUT    /charges/:id(.:format)                                       charges#update
                           DELETE /charges/:id(.:format)                                       charges#destroy

charge_controller.rb :

class ChargesController < ApplicationController
  def new
  end

  def create
    # Amount in cents
    @amount = 500

    customer = Stripe::Customer.create(
        :email => params[:stripeEmail],
        :source => params[:stripeToken]
    )

    charge = Stripe::Charge.create(
        :customer => customer.id,
        :amount => @amount,
        :description => 'Rails Stripe customer',
        :currency => 'usd'
    )

  rescue Stripe::CardError => e
    flash[:error] = e.message
    redirect_to 'new_charge_path'
  end
end

new.html.erb

<%= form_tag charges_path do %>
  <article>
    <% if flash[:error].present? %>
      <div id="error_explanation">
        <p><%= flash[:error] %></p>
      </div>
    <% end %>
    <label class="amount">
      <span>Amount: $5.00</span>
    </label>
  </article>

  <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
          data-description="A month's subscription"
          data-amount="500"
          data-locale="auto"></script>
<% end %>

Может кто-нибудь помочь, чего мне не хватает?Заранее спасибо.

1 Ответ

0 голосов
/ 26 июня 2018

Произошла небольшая ошибка в коде файла маршрутов.

Указанный ниже код должен быть в конце файла маршрутов. [Ссылка] И я добавил *Код 1005 * ниже этой строки, по этой причине я получил вышеупомянутую ошибку.

# Getting unmatched routes
get '*unmatched_route', to: 'application#raise_not_found'

Код начал работать, когда я изменил содержимое файла маршрутов как:

  Rails.application.routes.draw do

    mount API::Root => '/'


    resources :charges

    # Getting unmatched routes
    get '*unmatched_route', to: 'application#raise_not_found'


  end
...