我正在尝试使用JSONAPI Resource gem 为我的 rails 应用程序创建一个 API。我希望能够在我的控制器中利用正常的 Rails 路由,并拥有一个命名空间的 API。
到目前为止,我有类似的东西
# sitting in resources/api/goal_resource.rb
module Api
  class GoalResource < JSONAPI::Resource
    attributes :name, :description, :progress
  end
end
Rails.application.routes.draw do
  devise_for :users,
    path: '',
  controllers: {
    registrations: 'users/registrations',
    invitations: 'users/invitations',
    sessions: 'users/sessions'
  },
  path_names: {
    edit:  'settings/profile'
  }
  devise_scope :user do
    authenticated :user do
      root 'dashboard#index', as: :authenticated_root
    end
    unauthenticated do
      root 'users/sessions#new', as: :unauthenticated_root
    end
  end
  post '/invitation/:id/resend', to: 'users/invitations#resend', as: :resend_invitation
  resources :goals do
    resources :goal_comments
    resources :goal_followers, only: [:index]
    member do
      post :on_target, as: :on_target
    end
  end
  resources :users, path: '/settings/users', only: [:index, :update, :edit, :destroy]
  resources :teams, path: '/settings/teams', only: [:index, :new, :create, :update, :edit, :destroy]
  resources :notifications, only: [:index]
  get "my_goals", to: "my_goals#index", as: :my_goals
  get "user_goals/:user_id", to: "user_goals#index", as: :user_goals
  get "team_goals/:team_id", to: "team_goals#index", as: :team_goals
  namespace :api, defaults: { format: 'json' } do
    jsonapi_resources :goals
  end
end
# Gemfile
source 'https://rubygems.org'
ruby '2.1.2'
gem 'jsonapi-resources'
# other gems here
# models/goal.rb
class Goal < ActiveRecord::Base
  # some more code here
end
是否可以将此 gem 与普通路由结合使用?我究竟做错了什么?rake routes返回我的应用程序的所有路由,但没有 api 路由。