回形针,在 rails 根文件夹之外设置路径

Paperclip, set path outside of rails root folder

我有两个独立的 rails 应用程序,比如 MyApp 和 MyAppAdmin。在 MyAppAdmin 中,可以使用回形针 gem 附加图像,该图像应该在第一个应用程序 (MyApp) 上可用。 F.e。我可能会在MyAppAdmin中添加一个用户头像,它应该会显示在MyApp中。

如何设置指向公共 'shared' 文件夹的图像路径,这两个应用程序可以使用?

我尝试使用
path: "/tmp/shared"
在我的 config.yml 中,但没有用。它只是添加到默认回形针路径(与相对路径相同,如“../temp/shared”)。 https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/attachment.rb#L23

我也尝试添加类似
的内容 Paperclip::Attachment.default_options[:path] = '/tmp/shared/:class/:id_partition/:style.:extension'
到我的 development.rb 文件,运气不好。

是否可以在实际 rails 应用程序文件夹之外设置回形针中图像的路径?

*MyApp 使用 rails 3.2,MyAppAdmin - rails 2.3.18

选项“:path”和“:url”必须在您的情况下一起使用。我相信缺少的是您的网络服务器上的一些配置和 :url 配置。

":path" --> 告诉回形针文件在服务器文件系统中的位置。
":url" --> 告诉回形针如何确定要生成的url。它是相对于网站 URL.

因此,通过 WebServer 上的配置,您应该将“:path”所在的服务器文件夹映射到 rails 应用程序文件夹结构下的虚拟目录。

此虚拟目录应反映“:url”选项中的配置。

例如假设你做到了

:path => "/tmp/shared/:class/:id_partition/:style.:extension"

第一步在您的 rails 应用程序下配置一个虚拟文件夹,名称为:

MyNewVirtualFolder

并将其指向“/tmp/shared”

第二步配置

:url => "/MyNewVirtualFolder/:class/:id_partition/:style.:extension"

最后重新启动您的 rails 应用程序。