如何在RoR中使用send_file

时间:2011-09-15 13:10:48

标签: ruby-on-rails-3 view download

我是RoR的新手,我正在尝试使用send_file让用户下载和查看其他用户上传的文件。我想在每个上传文件的项目显示页面上有一个链接。目前我正在使用carrierwave上传文件并将它们存储在public / uploads / permit / avatar / permit_id / file中。经过大量的文档后,我似乎无法弄清楚要放入模型视图和控制器的确切代码,以便在显示页面上显示链接。有人可以帮我把代码放在哪里。

1 个答案:

答案 0 :(得分:0)

如果您只想让授权用户下载文件,那么您应该设置除public以外的其他路径,例如: private/uploads/permit/avatar/permit_id/file
并在控制器操作中使用类似send_file avatar.uploader_field.file的内容,然后在视图中使用

link_to "avatar", path_to_controller_action

适合所有人:

link_to "avatar", avatar.uploader_field.url

link_to "avatar", avatar.uploader_field.path
视图中的