首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails to_xlsx找不到具有‘id’的所有漏洞:( all,{}) (找到0个结果,但正在查找2个)

rails to_xlsx找不到具有‘id’的所有漏洞:( all,{}) (找到0个结果,但正在查找2个)
EN

Stack Overflow用户
提问于 2015-06-20 15:45:37
回答 1查看 535关注 0票数 4

我有一个Rails应用程序(ruby 2.0.0,Rails 4.2.1)。我想导出数据到excel使用acts_as_xlsx gem

这是我的控制器:

代码语言:javascript
复制
class VulnerabilitiesController < ApplicationController
  before_action :set_vulnerability, only: [:show, :edit, :update, :destroy]
  # GET /vulnerabilities
  # GET /vulnerabilities.json
def index

  @vulnerabilities = Vulnerability.all 

  respond_to do | format |  
  format.html # index.html.erb
  format.json { render :json => @vulnerabilities }
  format.xlsx {
    send_data @vulnerabilities.to_xlsx.to_stream.read, :filename => 'costings.xlsx', :type => "application/vnd.openxmlformates-officedocument.spreadsheetml.sheet"
  }
end
(…)

这是我的模型:

代码语言:javascript
复制
class Vulnerability < ActiveRecord::Base
  acts_as_xlsx
end

但当我点击我的按钮时:

代码语言:javascript
复制
<%= link_to 'Download', url_for(:format=>"xlsx") %>

我有一个错误:

代码语言:javascript
复制
Couldn't find all Vulnerabilities with 'id': (all, {}) (found 0 results, but was looking for 2)

截图:

有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-27 03:47:27

好的,在研究这个问题之后,看起来默认的acts_as_xlsx gem已经被rails 4.1+破坏了。我找到了一个存储库,它将补丁应用于原始的acts_as_xlsx gem来解决这个问题,可以在这里找到:

https://github.com/straydogstudio/acts_as_xlsx

我更新了gem,使其指向新的存储库。

代码语言:javascript
复制
gem 'acts_as_xlsx',
  :git => "git://github.com/straydogstudio/acts_as_xlsx.git"

或者,您可以下载压缩包并将文件夹解压到供应商目录中(将其从acts_as_xlsx-master重命名为acts_as_xlsx)。这就是我所做的,以防打补丁的存储库消失。

代码语言:javascript
复制
gem 'acts_as_xlsx',
  :path => "vendor/acts_as_xlsx"

为补丁向流浪工作室致敬。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30951587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档