Ruby 控制器中获取对象的私有方法
如果我把这个方法放在images_控制器中,那么它会给出一个错误Ruby 控制器中获取对象的私有方法,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,如果我把这个方法放在images_控制器中,那么它会给出一个错误 有什么问题吗?您忘了结束您的方法create。这就是ruby感到困惑的原因。在create中的objec是打字错误吗?哪一行专门抛出错误?@images=object-at-index方法。如果我将该方法重命名为“ohai”或其他名称,也没有什么区别对象是一种跨Rails API使用的方法。此外,从缩进中不清楚实际定义了对象的位置:它在控制器类中吗?不清楚对象在哪里定义:它在哪里定义?也就是说,它的范围是什么?请包括有问题的代码,
有什么问题吗?您忘了结束您的方法
create
。这就是ruby感到困惑的原因。在create
中的objec
是打字错误吗?哪一行专门抛出错误?@images=object-at-index方法。如果我将该方法重命名为“ohai”或其他名称,也没有什么区别<代码>对象是一种跨Rails API使用的方法。此外,从缩进中不清楚实际定义了对象
的位置:它在控制器类中吗?不清楚对象
在哪里定义:它在哪里定义?也就是说,它的范围是什么?请包括有问题的代码,并一致地缩进,这样我们就可以知道它的实际定义。你是对的。非常容易混淆模块的所有这些结尾。谢谢!谢谢!很抱歉,我没有理解这个评论
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>
#in ApiControler
private
def images
@user.advertisements.find(params[:advertisement_id]).images
end