1
我試圖查詢數據,所有的項目一個用戶已經從特定類別喜歡。 EG:/users/1/categories/5沒有路由匹配[GET]「/用戶/ 1 /分類/ 5」
我有一點Rails-101問題,無法找出服務器爲什麼告訴我路由不存在。
該參數是正確的。路由存在於Routes.rb中。我能想到的唯一事情就是路線出現的順序。或者可能是由於路由的SPA性質。
的routes.rb:
Rails.application.routes.draw do
ACCEPTS_JSON = lambda {|request|
request.accepts.include?(:json)
}
get "https://stackoverflow.com/users/email" => "users#id"
get "/items/:id/like" => "items#checkhasliked"
get "https://stackoverflow.com/users/:u_id/categories/:c_id " => "users#categoryitems" // should do the trick?
scope constraints: ACCEPTS_JSON do
resources :users
resources :categories
resources :items
end
get "/*path" => "app#main"
post "/users" => "users#create"
post "/items" => "items#create"
post "/items/:id/like" => "items#like"
post "/items/:id/unlike" => "items#unlike"
post "/sessions" => "sessions#create"
root 'app#main'
end
UsersController:
class UsersController < ApplicationController
...
def categoryitems
render json: {head: :ok}
end
end
AJAX調用:
fetchCategoryItems: function(cID){
var uID = this.props.params.id // user ID
var cID = cID // category ID
$.ajax({
type: "GET",
url: "https://stackoverflow.com/users/" + uID + "/categories/" + cID,
dataType: 'json',
success: function(data){
this.setState({didFetchData: 'true', items: data.items})
}.bind(this),
error: function(data){
alert("error! couldn't fetch user's items-by-category")
}
})
}