【发布时间】:2017-11-06 08:20:42
【问题描述】:
我阅读了有关添加路由、向控制器添加方法以及在同一个应用程序中完成所有操作时使用 link_to 创建链接的信息。但我有单独的前端和后端项目。后端侧轨应用程序将负责从数据库读取并将 excel 文件返回到前端。如何在前端 Rails 应用程序中获得下载按钮?在我的测试场景中,我创建了一个下载 UI 按钮,其中包含控制器中的路由和方法。我想通过单击此按钮下载位于root/spec/test_data/myfile.xlsx 的xlsx 文件。
我尝试创建路由,在控制器中添加方法:
def download
workbook_path = File.join( File.dirname(__FILE__), '../myfile.xlsx' )
send_file(
File.open( workbook_path ),
filename: "myfile1.xlsx",
type: "application/xlsx"
)
end
我收到了这个错误
No such file or directory @ rb_sysopen - /engine/app/controllers/my_engine/../myfile.xlsx
如何仅通过路由和控制器操作下载我的本地 excel 文件?我没有show.html.erb,因为我已经创建了一个下载按钮。如果问题似乎不完整,我很抱歉。我正在使用 Rails 4。
【问题讨论】:
-
链接似乎有效。更正 xlsx 文件的路径。
标签: ruby-on-rails ruby excel