我有一個Rails 4.1.2應用程序中的API控制器不能從應用程序控制器繼承。我想包括的respond_to方法,並得到一個方法未定義的錯誤....於是我要求ActionPack的在像下面的頂部:如何在不從Rails 4中的ApplicationController繼承時包含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文件夾下找到它。
編輯:
我還要提到阿比:: ApiController有父RocketPants :: Base的,因爲我使用的是rocketpants API寶石......創業板的作者說他的自述:「RocketPants只包括在不久的將來,它可能會被修改爲與ActionController :: Base一起工作,以便與其他寶石更好地兼容。「
我特別感興趣的是如何以獨立的方式訪問action_pack方法/庫(如果可能的話),包括activesupport的方式。
感謝本傑明......所以,我因爲我使用的是rocketpants API應該提阿比:: ApiController也有家長RocketPants ::基地寶石...我應該做一個「祖父母」控制器,並有Api :: ApiController從ActionController :: Base繼承? – Nona
請看我的編輯 – Benj
謝謝Benjamin,所以在這種情況下,你不認爲你可以使用include'action_pack'並使用respond_to? (我試圖看看是否可以以獨立方式使用actionpack,就像你可以使用activesupport的方式一樣)。 – Nona