Rails,CarrierWave存储文件在哪里?

时间:2016-12-08 13:06:56

标签: ruby-on-rails asset-pipeline carrierwave

无法找到/理解有关此问题的良好文档。我想知道CarrierWave上传的内容在哪里?从我的理解,它直接进入数据库,对吗?我可以强制它在我的资产管道中存储(或创建类似于文件的引用)吗?今天有一个无法使用image_tag的问题,因为它只从资产管道中获取资产。是不是让用户在资产管道中存储文件可能是非常危险和有害的?

所以我的问题:

  • 我可以在资产管道中存储/引用文件吗?

  • 这是个好主意吗?

感谢分享!

1 个答案:

答案 0 :(得分:1)

如果您查看上传器,您会看到一个名为store_dir的方法,默认情况如下...

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

因此,对于名为image的字段中名为FilmReview的字段中的附件,该字段名为45,其标识为public/uploads/film_review/image/45/oranges.jpg ,它存储在...

store_dir

您可以更改<StackPanel Orientation="Vertical"> <TextBox Text="{Binding DataFolder}" TextWrapping="Wrap"/> <Button Content="Convert" Padding="8" Command="{Binding ConvertCommand}" IsEnabled="True" MinWidth="220"/> <TextBlock Text="{Binding DoneMessage, UpdateSourceTrigger=PropertyChanged}"></TextBlock> </StackPanel> 以将图像存储在其他目录中,或将其上传到AWS等云服务...有关如何操作的示例,请参阅railscast或其他资源。