Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在ruby on rails中使用附件_-fu在公用文件夹外保存文件_Ruby On Rails_Path_Attachment Fu - Fatal编程技术网

Ruby on rails 在ruby on rails中使用附件_-fu在公用文件夹外保存文件

Ruby on rails 在ruby on rails中使用附件_-fu在公用文件夹外保存文件,ruby-on-rails,path,attachment-fu,Ruby On Rails,Path,Attachment Fu,我在rails应用程序中使用attachment_fu来处理文件上载,我希望将它们保存在应用程序根目录中名为attachments的目录中。然而,我似乎无法让这个插件将文件保存在公共目录以外的任何其他目录中。谁能告诉我怎么做 thx -你试过洛杉矶的东西吗 has_attachment :storage => :file_system, :path_prefix => 'attachments/' 你尝过洛杉矶的东西吗 has_attachment :storage => :

我在rails应用程序中使用attachment_fu来处理文件上载,我希望将它们保存在应用程序根目录中名为attachments的目录中。然而,我似乎无法让这个插件将文件保存在公共目录以外的任何其他目录中。谁能告诉我怎么做

thx


-你试过洛杉矶的东西吗

has_attachment :storage => :file_system, :path_prefix => 'attachments/'

你尝过洛杉矶的东西吗

has_attachment :storage => :file_system, :path_prefix => 'attachments/'

是的,我尝试了几种路径前缀选项的组合,但除非它们以“public/”开头,否则没有一个选项能起作用。当我试图上传一个文件时,我从这个选项中得到了如下信息:没有这样的文件或目录-/storage/daisi/branchs/development/public//storage/daisi/branchs/development/attachments/0000/0007/524ims.ymlStrange。我想您总是可以在公共目录中创建一个别名,然后在应用程序根级别创建一个目录。我想这在某种程度上是有道理的。web服务器(不管是什么)只知道“public/”目录,所以所有静态文件都需要包含在其中。上载文件时,它需要位于“public/”目录中,才能通过URL寻址。也就是说,我确信在某些情况下,您可能希望上传一个文件,并使其无法通过URL寻址。现在问这个问题,我实际上觉得有点傻,因为我意识到我的问题不是插件本身,而是文件类中的一些其他代码,公共目录在读取文件数据的方法中硬编码了这些代码(这些都是.yml文件)。因此,您的解决方案实际上是正确的。很高兴听到您解决了这个问题。有那么一秒钟,我说服自己放弃了我自己的答案:-是的,我尝试了几种路径前缀选项的组合,但似乎都不起作用,除非它们以“public/”开头。下面是我在尝试上载文件时从该选项得到的结果:没有这样的文件或目录-/storage/daisi/branchs/development/public//storage/daisi/branchs/development/attachments/0000/0007/524_IMS.ymlStrange。我想您总是可以在公共目录中创建一个别名,然后在应用程序根目录级别创建一个目录。不过,我想这在某种程度上是有意义的。web服务器(无论它是什么)只有真正了解“public/”目录,所以所有静态文件都需要包含在其中。当你上传一个文件时,它需要位于“public/”目录中,才能通过URL寻址。也就是说,我确信在某些情况下,你可能想上传一个文件,但不能通过URL寻址。我真的觉得问这个问题有点傻现在是问题了,因为我意识到我的问题不是插件本身,而是文件类中的一些其他代码,公共目录在读取文件数据的方法中硬编码了这些代码(这些都是.yml文件).所以,你的解决方案实际上是正确的。很高兴听到你把它解决了。在那一瞬间,我说服了自己放弃了我自己的答案:-P