加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails to_xlsx无法找到所有具有’id’的漏洞:(

发布时间:2020-12-17 02:55:30 所属栏目:百科 来源:网络整理
导读:我有一个Rails应用程序( ruby 2.0.0,Rails 4.2.1).我想使用acts_as_xlsx gem将数据导出到excel. 这是我的控制器: class VulnerabilitiesController ApplicationController before_action :set_vulnerability,only: [:show,:edit,:update,:destroy] # GET /v
我有一个Rails应用程序( ruby 2.0.0,Rails 4.2.1).我想使用acts_as_xlsx gem将数据导出到excel.

这是我的控制器:

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
(…)

这是我的模型:

class Vulnerability < ActiveRecord::Base
  acts_as_xlsx
end

但是当我点击我的按钮时:

<%= link_to 'Download',url_for(:format=>"xlsx") %>

我有一个错误:

Couldn't find all Vulnerabilities with 'id': (all,{}) (found 0 results,but was looking for 2)

截图:

有人可以帮忙吗?

解决方法

好的,在查看问题之后,似乎默认的acts_as_xlsx gem被rails 4.1破坏了.我找到了一个存储库,它有一个应用于原始acts_as_xlsx gem的补丁来解决问题,可以在这里找到:

https://github.com/straydogstudio/acts_as_xlsx

我更新了我的gem,以便它指向新的存储库

gem 'acts_as_xlsx',:git => "git://github.com/straydogstudio/acts_as_xlsx.git"

或者,您可以下载zip并将文件夹解压缩到供应商目录(将其从acts_as_xlsx-master重命名为acts_as_xlsx).这是我在修补的存储库消失时所做的.

gem 'acts_as_xlsx',:path => "vendor/acts_as_xlsx"

感谢straydogstudio的补丁.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读