控制器中获取对象的私有方法


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中,它就会给出一个错误

问题是什么?

您忘了结束您的方法create

相关内容

  • 没有找到相关文章