0
Rails MVCコントローラを別の名前空間で拡張しようとしています。サブクラスをビューを処理する代わりにJSONを受け入れて返すREST APIとして機能させています。Rails API、ハンドラを設定/オーバーライドする方法
Rails.application.routes.draw do
resources :companies
namespace :api do
namespace :v1, defaults: { format: :json} do
resources :companies
end
end
しかし、私は/ api/v1/companiesのルートを呼び出すと、ビューが存在しないと不平を言って「テンプレートがありません」というエラーが表示されます。詳細には、.erbファイルを処理しようとしていると思ういくつかのハンドラーがあります。ここで
Missing template api/v1/companies/show, companies/show, application/show with
{:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee]}.
私のAPI/V1 /でcompanies_controller
class Api::V1::CompaniesController < CompaniesController
def show
super
end
end
はレールがビューテンプレートを探してみるとちょうどJSONを返していないように私はそれを作ることができる方法はありますか?
として常にレンダリングする必要があります。 – 7urkm3n
@ 7urkm3n上記に追加されました。これは今のところ、/ api/vi/companies/1の基本的なGETをしようとしています。 – tpow
あなたは 'respond_to:json'コントローラを追加しようとしましたが、' CompaniesController'の直下に追加してください、 'respond_with(@object) 'showメソッドで。 – 7urkm3n