module Api
class ApiController < ApplicationController
before_filter :authenticate
private
def authenticate
#check if GET parameter
return true if @user = User.find_by_token(params[:token])
#check if token in header
authenticate_or_request_with_http_token do |token, options|
@user = User.find_by_token(token)
end
end
end
end
module Api
module V1
class AdvertisementImagesController < ApiController
def index
@images = images
end
def create
if images.create :remote_image_url=>params[:image][:remote_image_url]
return render :nothing => true, :status=>201
else
return render :nothing => true, :status=>500
end
private
def images
@user.advertisements.find(params[:advertisement_id]).images
end
抛出
undefined local variable or method `images' for #<Api::V1::AdvertisementImagesController:0xb2d558d8>
如果我把方法放在ApiController中,那么它正在工作。
#in ApiControler
private
def images
@user.advertisements.find(params[:advertisement_id]).images
end
如果我把方法放在images_controller中,那么它会给出错误。
问题是什么?
答案 0 :(得分:1)
您忘记了结束方法create
。这就是为什么红宝石会感到困惑。