0

私は、ember フロントエンドを使用し、jsonapi-resources を使用して Rails API を構築するテスター アプリで遊んでいます。Railsアプリのルートは次のように定義されています

Rails.application.routes.draw do
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
  jsonapi_resources :books
  jsonapi_resources :authors
  jsonapi_resources :publishing_houses
end

しかし、私は奇妙なことに気づきました。http://localhost:3000/publishing_housesのように Publishing_houses のパスに移動すると、ルート/ページが存在しないと表示されます。ただし、http://localhost:3000/publishing-housesに出版社間のアンダースコアの代わりにダッシュを付けてアクセスすると、必要な応答が得られます。

問題は私の ember アプリにあります。コンソールを確認したところ、次の URL を使用してデータが要求されました。

この動作には理由がありますか? それとも私は何か間違ったことをしていますか?

4

1 に答える 1

1

掘り下げてみたところ、ルート形式の設定があるようです。これを試して

# config/initializers/jsonapi.rb
JSONAPI.configure do |config|
  config.route_format = :underscored_route
end

これにより、ルートが「publishing-houses」ではなく「/publishing_houses」になり、使用している他のライブラリとの互換性が保たれます。

于 2016-08-07T22:18:03.397 に答える