Как я могу увидеть параметры и определение методов get? - PullRequest
0 голосов
/ 27 мая 2020

Новое в рельсах: изучение создания API-интерфейсов в Rails с использованием http://apionrails.icalialabs.com/book/chapter_three. Ниже приведен отрывок, имитирующий запрос на получение, но я хочу знать, как я могу посмотреть, что параметры метода и в каком классе он присутствует. На данный момент он выглядит как magi c, и я не знаю, это rspe c / ruby / rails или драгоценный камень, и я устаю поиск по документации, и я действительно хотел бы узнать это через код (возможно, какой-то способ выполнения).


require 'spec_helper'

  describe Api::V1::UsersController do
    before(:each) do
      request.headers['Accept'] = "application/vnd.marketplace.v1"
    end

    describe "GET #show" do
      before(:each) do
        @user = FactoryBot.create :user
        get :show, params: { id: @user.id }, format: :json
      end

       it "returns the information about a reporter on a hash" do
        user_response = JSON.parse(response.body, symbolize_names: true)
        expect(user_response[:email]).to eql @user.email
      end

      it { should respond_with 200 }
    end
  end

1 Ответ

0 голосов
/ 27 мая 2020

Если вы не знаете rspec / ruby / rails, тогда будет очень трудно понять его, но позвольте мне попробовать.

describe Api::V1::UsersController

Это говорит о том, что spe c написано для Api::V1::UsersController, что вы найдете его в app/controllers/api/v1/users_controller.rb

get :show, params: { id: @user.id }, format: :json

Эта строка сообщает, что вызов show действия вышеуказанного контроллера с параметром { id: @user.id } и типом запроса json

Если вы хотите для проверки параметров, полученных в show действии указанного выше контроллера, вы можете использовать утилиту byebug для проверки params, request, controller_name, action_name et c

Check https://github.com/deivid-rodriguez/byebug, чтобы узнать, как использовать Byebug для отладки приложения.

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