2017-02-23 489 views
0

Я новичок в RoR. У меня есть поиск по всему сайту, и я не смог найти ответ на мой вопрос.Рельсы: Нет совпадений в маршруте

Я попытался создать api в Ruby on Rails без просмотра. В принципе, я успешно использую метод get и post для создания новых данных.

Моя проблема сейчас я получаю no routes match Ошибка для обновления и удаления. Ниже мой код контроллера сообщений:

def update 
    @post = Post.where(id: params[:id], user_id: session[:user_id]).first 
    if @post.update_attribute(:description, params[:description]) 
    render json: @post 
    else 
    render json: {error: 'Process not completed'} 
    end 
end 

def destroy 
    @post = Post.where(id: params[:id], user_id: session[:user_id]).first 
    if @post.destroy 
    render json: {status: 'Successful'} 
    else 
    render json: {status: 'Your cannot delete this data'} 
    end 
end 

и ниже мой код для маршрутов

namespace :api do 
    namespace :v1 do 
    get 'users/request_token', to: 'users#request_token' 
    resources :users 
    resources :posts 
    end 
end 

Я знаю, что это основной код для вас, ребята. Но я надеюсь, что кто-то может помочь новым людям вроде меня улучшить в RoR.

Ниже представлен вид моей ошибки enter image description here

+0

Каков адрес, на который вы звоните? – Rohit

+0

Опубликовать мнения, в которых вы получаете ошибку, а также ошибку –

+0

localhost: 3000/api/v1/posts? Token = 333 sir @Rohit –

ответ

1

При удалении поста вам нужно передать идентификатор вместе с URL

Пример: локальный: 3000/API/v1/сообщений /: идентификатор маркер = XYZ

вы можете проверить свои маршруты с помощью команда рейковых маршрутов

Надеюсь, это поможет

+0

Это тоже отлично ответило на мой вопрос! Спасибо большое! –

0

Ваш маршрут вызова должен мне как /API/v1/сообщений /: POST_ID и в случае обновления он должен быть PUT типа и в случае удаления он должен быть DELETE запрос типа. Пожалуйста, попробуйте и дайте мне знать, если это поможет.