Rails 4.1.2 アプリに、アプリケーション コントローラーから継承されていない API コントローラーがあります。私は Respond_to メソッドを含めようとしていて、メソッド未定義エラーを取得しようとしています....そのため、以下のように上部にアクションパックが必要でした:
require 'action_pack'
class Api::V1::UsersController < Api::ApiController
version 1
doorkeeper_for :all
respond_to :json
def show
respond_with current_user.as_json(except: :password_digest)
end
end
そして私はまだ得ます
ActionController::RoutingError (undefined method `respond_to' for Api::V1::UsersController:Class):
しかし、respond_to メソッドは MODULE ActionController::MimeResponds::ClassMethods の一部であり、actionpack gem ソース コードを開くと、サブディレクトリの action_pack フォルダーの下にあります。
編集:
また、Api::ApiController には親の RocketPants::Base があることにも言及する必要があります。これは、私が Rocketpants api gem を使用しているためです ... gem の作成者は、README で次のように述べています。 、他の gem との互換性を向上させる目的で、ActionController::Base で動作するように変更される場合があります。」
私は、action_pack メソッド/ライブラリ (可能であれば) にスタンドアロンでアクセスする方法に特に興味があります。