Выполнено 500 Внутренняя ошибка сервера и ActiveResource :: ForbiddenAccess - PullRequest
0 голосов
/ 29 марта 2019

Я использую Shopify, Ruby on Rails и Heroku postgres и продолжаю получать эту ошибку:

ActiveResource :: ForbiddenAccess (Failed. Код ответа = 403. Ответное сообщение = Forbidden.) ИВыполнено 500 Внутренняя ошибка сервера в 210 мс (ActiveRecord: 1,3 мс)

Я пытаюсь CRUD данные Shopify в другое приложение, которое от rails, и я попытался перенести базу данных и журналы heroku, чтобы выяснить,проблема, но я не нашел.

Это код моего контроллера

def index
  @products = ShopifyAPI::Product.find(:all, params: { limit: 10 })
  @webhooks = ShopifyAPI::Webhook.find(:all)
end

def show
  @products = ShopifyAPI::Product.find(params[:id])
end

def new
  @products = ShopifyAPI::Product.new
end

def create
  @products = ShopifyAPI::Product.new(params.require(:product).permit(:title))
  if @products.save
    redirect_to home_index
  else
    render :index
  end 
end

Вот мой маршрут

Rails.application.routes.draw do
  resources :home
  post 'home/new', to: 'home#create'
end

Мой new.html.erd

<%= form_for :product do |f| %>
  <p> 
    <%= f.label :name %>
    <%= f.text_field :title %>
  </p> 

  <p>
    <%= f.submit %>
  </p>
<% end %>

Вот мой index.html.erd

<% @products.each do |product| %>
  <li><%= link_to product.title, "https://#{@shop_session.url}/admin/products/#{product.id}", target: "_top" %></li>
  <%= link_to 'Create Product', new_home_path %>     
<% end %>

1 Ответ

0 голосов
/ 29 марта 2019

Simple. Вы делаете вызовы API, и вы НЕ проходите аутентификацию, поэтому вы получаете 403. Сначала вам нужно открыть сеанс с проверкой подлинности, а затем выполнить вызовы к API. Например:

session = ShopifyAPI::Session.new(shop, token)
ShopifyAPI::Base.activate_session(session) if session.valid?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...