我在我的控制器/ application_controller.rbRails 3.2.8 - 如何獲取模塊內的application_controller.rb方法?
class ApplicationController < ActionController::Base
protect_from_forgery
private
def check_api_credential(api_key)
if Credential.find_by_key(api_key)
true
else
false
end
end
end
在直接位於控制器文件夾下的所有控制器下面的方法,這種方法是可到達的。
但在控制器控制器中的文件/ API/V1/photos_controller.rb
module Api
module V1
class PhotosController < ActionController::Base
respond_to :json
def create
redirect_to root_url if check_api_credentials(params[:params][2])
if Photo.create(params[:params][0])
render 'success'
else
render 'failure'
end
end
end
end
end
當我試圖挽救我得到 未定義的方法 'check_api_credentials'
我如何可以訪問application_controllers那些方法.RB?它們在控制器文件夾內。
我不認爲我在第二個問題上理解你的觀點。 控制器/ photos_controllers.rb中的相同photos_controllers.rb可以訪問該方法,我的觀點是如何讓我的控制器/ api/v1/photos_controllers.rb具有相同的訪問權限。我不知道該怎麼做。這是我的觀點。 –
從'ApplicationController'繼承它。 –
我試着在不同的地方添加ApplicationController並進行擴展,但Rails總是返回那些不能被方法接受的類,或者在ApplicationController的類中不接受方法。我不認爲你的方式有效。 –