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 に答える