Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 使用rails从数据库下载文件_Ruby On Rails_Ruby_Database_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails 使用rails从数据库下载文件

Ruby on rails 使用rails从数据库下载文件,ruby-on-rails,ruby,database,ruby-on-rails-5,Ruby On Rails,Ruby,Database,Ruby On Rails 5,长话短说,我已经使用rails将.docx文件保存到我的数据库中,但是检索保存在数据库中的文件并下载它们时遇到了很多麻烦 谢谢你的帮助 1-创建一个操作以下载ex- 假设您的模型名为MyModel,列名为file保存.docx文件的位置 def download object = MyModel.find(params[:id]) send_file object.file.path(:original), :disposition => 'download' en

长话短说,我已经使用rails将.docx文件保存到我的数据库中,但是检索保存在数据库中的文件并下载它们时遇到了很多麻烦


谢谢你的帮助

1-创建一个操作以下载ex-

假设您的模型名为
MyModel
,列名为
file
保存.docx文件的位置

  def download
    object = MyModel.find(params[:id])
    send_file object.file.path(:original), :disposition => 'download'
  end
2-为此操作创建路由

 get 'download/:id', to: 'my_controllers#download', as: :download_my_file
3-您可以在查看页面中使用此路由,您可以在其中选择下载:-

<%=link_to 'download', download_my_file_path(id: my_model_id)%>


希望我的示例清楚,让我知道进一步的指导

您想下载该文件吗?使用rails?在本地系统中单击要通过浏览器下载的文件?我说的对吗?这正是我要找的-rails不可能吗?当然,我在这里举个例子。你用的是回形针还是carrierwave?您正在使用哪个gem保存文件?非常感谢您的帮助-我只是对最后一行“下载我的文件路径(id:my_model_id)”有点困惑。我不确定下载我的文件路径是什么意思(或者我应该把它改成什么)。@Hychet在添加了2个步骤后,将行
路由为::download_我的文件
当您在控制台上检查
rake routes
时,您将获得路由。要使用此路径,我们将其用作
download\u my\u file\u路径
,在该路径中,我们发送文件已保存的模型id以获取该文件。我明白了。您可以根据自己的需要更改路线。它只会传递你们通常使用的句子。我明白了吗?@Hychet如果答案对您有帮助,请随意接受/投票。:)