草庐IT

dynamic_zip_iterator

全部标签

ruby-on-rails - Rails Brakeman 警告 : Dynamic Render Path false alarm?

我刚刚开始使用Rails,所以我使用Brakeman了解我的新手代码中的潜在漏洞。它在我的show.js.erb文件中抛出关于以下代码的高置信度“动态渲染路径”警告:$('#media-fragment').html('');我实际上预料到这是一个问题,所以不足为奇。所以我将其更改为以下内容:#controller:defshowiflegal_partial?@allowed_partial=params[:partial]elseraiseStandardError,"unexpectedpartialrequest:#{params[:partial]}"endendprivat

ruby-on-rails - ruby on rails roo gem 无法加载 zip/zipfilesystem

我正在尝试使用roogem来处理由外部方上传的.xlsx电子表格。我收到以下错误:LoadError(无法加载此类文件--zip/zipfilesystem):我发现了很多与此类似的问题(例如无法加载此类文件--zip/zip),我尝试按照他们的解决方案进行操作。到目前为止,无济于事。我最初在Controller中需要“roo”,在出现此错误后尝试要求“zip/zip”、“zip/zipfilesystem”和“zip”。这些似乎都无法解决任何问题。我也试过将:require=>'zip',:require=>'zip/zipfilesystem',:require=>'zip/zip

ruby - 如何在 Ruby 中遍历内存中的 zip 文件

我正在编写一个单元测试,其中一个正在返回一个zip文件,我想检查这个zip文件的内容,从中获取一些值,并将这些值传递给下一个测试。我正在使用机架测试,所以我知道我的zip文件的内容在last_response.body中。我查看了RubyZip的文档但它似乎总是期待一个文件。由于我正在运行单元测试,因此我更愿意在内存中完成所有操作,以免测试zip文件污染任何文件夹,如果可能的话。 最佳答案 马特的回答完全正确。此处更新为新的API:Zip::InputStream.open(StringIO.new(input))do|io|whi

ruby-on-rails - rails : dynamically define class method based on parent class name within module/concern

我想根据包含此Mixin的类名在Mixin中动态生成一个类方法。这是我当前的代码:moduleMyModuleextendActiveSupport::Concern#defsome_methods#...#endmoduleClassMethods#HereiswhereI'mstuck...define_method"#{self.name.downcase}_status"do#dosomething...endendendclassMyClass但这给了我以下方法名称:MyClass.mymodule::classmethods_status在方法定义中获取基类名称是可行的(s

ruby-on-rails - 如何解压缩包含 Rails 中的文件夹和文件的 zip 文件,同时保持目录结构

这个问题在这里已经有了答案:HowtounzipafileinRubyonRails?(4个答案)关闭6年前。我需要使用railsziprailsgem提取一个包含许多文件夹和文件的zip文件。同时保持文件和文件夹的组织方式与压缩时的方式一致。这并不像我想象的那么简单。请参阅我在下面找到的解决方案(添加以供将来引用)

ruby-on-rails - 如何使用 Ruby on Rails 创建 zip 存档?

我在一个目录中有一堆文件。我想将其中一些压缩到一个zip存档中。我可以看到有varioussolutions为此。我可以使用像rubyzip这样的gem或运行exec并只使用命令行工具。这将影响我正在处理的系统的一个重要部分,因此我很乐意就使用Rails创建zip文件提供一些反馈和/或指导。 最佳答案 rubyzip是个不错的选择。我用它来压缩我以前使用过的社交应用程序中私有(private)消息中的附件。但是,如果您正在压缩的文件很大,那么建议您使用delayed_job进行一些后台处理。例如。

ruby - 为什么在带有 block 的数组上调用 zip 总是返回 nil

所以我尝试使用两个数组a和b返回第三个数组,这样第n第三个数组的元素是数组a和b的nth个元素之和。我正在查看交错数组的#zip方法,如果a=[1,2,3]和b=[4,5,6]a.zip(b)=[[1,4],[2,5],[3,6]]。ruby-doc.org说如果给定一个block,它会为每个输出数组调用...虽然弄乱了它,但我发现了一些有趣的东西。如果你用一个block调用zip,它似乎总是返回nil。我在这里做错了什么吗?c=a.zip(b){|x|x.reduce(:+)}返回nilc=a.zip(b).map{|x|x.reduce(:+)}返回想要的结果

ruby - 如何将 "zip"两个数组转化为hash

我想将两个数组“压缩”成一个哈希。来自:['BO','BR']['BOLIVIA','BRAZIL']收件人:{BO:'BOLIVIA',BR:'BRAZIL'}我该怎么做? 最佳答案 我会这样做:keys=['BO','BR']values=['BOLIVIA','BRAZIL']Hash[keys.zip(values)]#=>{"BO"=>"BOLIVIA","BR"=>"BRAZIL"}如果你想要键的符号,那么:Hash[keys.map(&:to_sym).zip(values)]#=>{:BO=>"BOLIVIA",:B

ruby-on-rails - 如何设置 "dynamically"变量值?

我正在使用RubyonRails3.0.9,我正在尝试“动态”设置一些变量值。那就是……...在我的模型文件中我有:attr_accessor:variable1,:variable2,:variable3#The'attributes'argumentcontainsoneormoresymbolswhichnameisequalto#oneormoreofthe'attr_accessor'symbols.defset_variables(*attributes)#HereIshouldsetto'true'all":variable"attributespassedassymbo

ruby - 定义方法 : How to dynamically create methods with arguments

我想为find_by功能创建一堆方法。我不想一遍又一遍地写同样的东西,所以我想使用元编程。假设我想创建一个按名称查找的方法,接受名称作为参数。我该怎么做?我过去曾使用过define_method,但我没有为该方法采用的任何参数。这是我的(坏的)方法["name","brand"].eachdo|attribute|define_method("self.find_by_#{attribute}")do|attr_|all.eachdo|prod|returnprodifprod.attr_==attr_endendend有什么想法吗?提前致谢。 最佳答案