如何获取当前 class 所属的 class?
How Do I get the class to which the current class belongs to?
我有一个上传器 (carrierewave) 可以保存几个文件,但我担心有一天,一些文件会重名并会导致问题。此外,我希望文件夹保持组织的外观。
因此,我有了第一个脚手架,"magazine" 允许我创建一本带有标题和多张图片的杂志。我使用的第二个脚手架,"page",允许多上传系统。
使用这种方法,我的模型看起来像这样:
magazine.rb
has_many :pages, :inverse_of => :magazine, :dependent => :destroy
pages.rb
belongs_to :magazine
现在在我的上传器中,我有以下内容:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}"
end
创建这样的文件夹:"uploads / page / image",然后上传里面的每一张图片,即使是其他杂志,所以图片会混淆。
我的问题如下:有没有办法改写杂志的 ID?这意味着要找到 class "pages" 所属的内容,但我没有找到任何可以回答我在 google.
上的问题的内容
提前致谢
如果您在模型中安装了自定义上传器Page
您可以正常访问模型属性
PageImageUploader.rb
def store_dir
"uploads/magazines/#{model.magazine.id}/#{model.id}"
end
但是,您无法访问模型 ID,除非您的模型已持久化。可以找到解决方法 here.
我有一个上传器 (carrierewave) 可以保存几个文件,但我担心有一天,一些文件会重名并会导致问题。此外,我希望文件夹保持组织的外观。
因此,我有了第一个脚手架,"magazine" 允许我创建一本带有标题和多张图片的杂志。我使用的第二个脚手架,"page",允许多上传系统。
使用这种方法,我的模型看起来像这样:
magazine.rb
has_many :pages, :inverse_of => :magazine, :dependent => :destroy
pages.rb
belongs_to :magazine
现在在我的上传器中,我有以下内容:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}"
end
创建这样的文件夹:"uploads / page / image",然后上传里面的每一张图片,即使是其他杂志,所以图片会混淆。
我的问题如下:有没有办法改写杂志的 ID?这意味着要找到 class "pages" 所属的内容,但我没有找到任何可以回答我在 google.
上的问题的内容提前致谢
如果您在模型中安装了自定义上传器Page
您可以正常访问模型属性
PageImageUploader.rb
def store_dir
"uploads/magazines/#{model.magazine.id}/#{model.id}"
end
但是,您无法访问模型 ID,除非您的模型已持久化。可以找到解决方法 here.