Vuejs Топор ios Запрос - PullRequest
1 голос
/ 09 марта 2020

FRONTEND

 data() {
    return {
      user_data: [],
      user_id: '',
    };
  },
created() {
    this.getUserData();
    const decode = jwtDecode(localStorage.auth_token);
    this.user_id = decode.user_id;
  },
methods: {
getUserData() {
      axios.get(`http://localhost:3000/api/v1/users/${this.user_id}`) // Gets an specif book
        .then((response) => {
          this.user_data = response.data;
        });
    },
}

BACKEND SHOW METHOD

def show
 user = User.find(params[:id])
   render json: user
 end

ROUTE

api_v1_user GET    /api/v1/users/:id(.:format) 

В приведенном выше коде я получаю идентификатор пользователя из своего токена и получение его информации из базы данных в моем методе getUserData(). Однако, когда я делаю запрос, вместо того, чтобы привести указанного c пользователя, он выдаёт мне всех зарегистрированных пользователей. PS: Я попытался напечатать идентификатор пользователя внутри моего getUserData метода, чтобы увидеть, находится ли идентификатор в переменной user_id, и он работает отлично, но мой запрос не может его получить !! Кто-нибудь может мне помочь?

1 Ответ

2 голосов
/ 09 марта 2020

В приведенном выше коде я получаю идентификатор пользователя из моего токена и извлекаю его информацию из базы данных в моем методе getUserData ()

Порядок в коде противоположный , он делает запрос к http://localhost:3000/api/v1/users/ без идентификатора пользователя.

Вместо него должно быть:

const decode = jwtDecode(localStorage.auth_token);
this.user_id = decode.user_id;
this.getUserData();

В случае, если существует вероятность, что идентификатор пользователя отсутствует, getUserData mustn не звонить.

...