Ruby on rails 使用rails从数据库下载文件
长话短说,我已经使用rails将.docx文件保存到我的数据库中,但是检索保存在数据库中的文件并下载它们时遇到了很多麻烦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
谢谢你的帮助 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如果答案对您有帮助,请随意接受/投票。:)