0
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 中,则它会给出错误。

问题是什么?

4

1 回答 1

1

你忘了结束你的方法create。这就是为什么红宝石会感到困惑。

于 2013-01-11T21:58:39.713 回答