2017-02-23 122 views
0

我是RoR的新手。我在这个网站的任何地方搜索,我找不到我的问题的答案。Rails:没有路线匹配

我试图在没有视图的Ruby on Rails中创建api。基本上,我成功地在做方法获取和发布创建新数据。

我的问题现在我得到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

虽然删除你需要传递一个ID与URL一起后

例如:本地主机:3000/API/V1 /职位/?ID令牌= XYZ

您可以使用检查你的路由耙路线命令

我希望这可以帮助

+0

这也完美地回答了我的问题!非常感谢! –

0

您的呼叫路由必须我喜欢/API/V1 /职位/:POST_ID和更新的情况下,它必须是PUT类型,在删除的情况下它必须是DELETE类型的请求。请尝试一下,让我知道它是否有帮助。