1

我希望使用 application_controller 中设置的应用程序变量

application_controller.rb

def current_company
 @current_company ||= Company.find(cookies[:default_company]) if cookies[:default_company]
end

我现在如何在上传器中使用 current_company.id (company_logo_uploader.rb)

def store_dir
 "uploads/#{current_company.id}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

我得到一个未定义的局部变量或方法“current_company”:CompanyLogoUploader

帮助将不胜感激。

4

1 回答 1

3

您必须调用在您的类上model.定义的实例方法,并在其前面添加定义

尝试这个

"uploads/#{model.current_company.id}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"

笔记

确保@current_company已设置否则它将返回nil

于 2013-08-11T18:25:48.030 回答