小编Der*_*ger的帖子

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

我正在尝试使用roo gem来处理由外部方上传的.xlsx电子表格.我收到以下错误:

LoadError(无法加载此类文件 - zip/zipfilesystem):

我发现了很多类似于这个的问题(比如无法加载这样的文件 - zip/zip),我试图按照他们的解决方案.到目前为止,无济于事.

我最初在控制器中需要'roo',在得到这个错误之后尝试了'zip/zip','zip/zipfilesystem',只是'zip'.这些似乎都没有解决任何问题.我还尝试添加:require =>'zip',:require =>'zip/zipfilesystem',:require =>'zip/zip'到Gemfile,但这些似乎都没有改变.这是一些相关的代码:

在Gemfile中:

# for spreadsheet upload management
gem 'roo'
gem 'rubyzip'
gem 'spreadsheet'
gem 'nokogiri'
Run Code Online (Sandbox Code Playgroud)

安装版本:

nokogiri (1.6.0)
roo (1.12.1)
rubyzip (1.0.0)
spreadsheet (0.8.9)
Run Code Online (Sandbox Code Playgroud)

在控制器中:

require 'roo'

module BatchOrderProcessing
  class DataFilesController < ApplicationController

    def create
      # some code here ...

      when ".xlsx"
        spreadsheet = Roo::Excelx.new(uploaded_io.path, nil, :ignore)
        header = spreadsheet.row(1)
        if # some validation stuff...
          puts "spreadsheet format inappropriate"
          redirect_to # some place
        end
        process_datafile(fname, spreadsheet)
        # more code …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rubyzip nokogiri ruby-on-rails-3

9
推荐指数
2
解决办法
6294
查看次数

如何在C中追加到文件,在Linux上使用O_APPEND模式打开?

这是家庭作业的一部分.好吧,我的作业无法正常工作,所以我已经把一个片段拿出来并开始用它来弄清楚什么是错的.

在C语言的Linux上我试图打开/创建一个文本文件,给它写一些东西,关闭它,在读/写和追加模式下打开它,然后在它的末尾添加任何东西(在这个例子中,字符串",老兄").但是没有附加任何内容,但write方法也没有抛出错误.我不确定是什么.

这是代码:

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>

#define BUFFSIZE 4096

int main(){
    mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;

    int fd = open("tempfile.txt", O_RDWR | O_CREAT, mode);

    char buf[BUFFSIZE] = {'t', 'h', 'y', ' ', 'f', 'a', 'l', 'l'};

    size_t n = sizeof(buf);
    if(write (fd, buf, n) < 0){
        printf("Error in write\n");
        printf("%s", strerror(errno));
        return 1;
    }

    close(fd);

    int fd2 = …
Run Code Online (Sandbox Code Playgroud)

c linux file-io file append

5
推荐指数
1
解决办法
2万
查看次数

ruby on rails引擎undefined方法'delete'代表nil:NilClass

我是Ruby on Rails的新手,使用rails 3.2.13和ruby 1.9.3p392.我正在尝试构建一个应用程序使用的引擎,这可能会导致我的困惑.

引擎名称为sales_app.我有一个页面将大量数据发布到sales_app/sales #create以创建销售.在销售控制器的创建操作中,我做了一些数据处理并尝试实例化Sale对象.我没有从模型中创建对象,而是获取了一个我甚至不知道我正在调用的删除方法的NoMethodError异常.请帮忙.

以下是相关细节.我的销售/新页面将以下参数发布到sales #create:

{"sale"=>{"name"=>"Test",
 "desc"=>"This is a test",
 "start_date"=>"05/30/2013",
 "end_date"=>"05/31/2013",
 "start_time"=>"07:00",
 "end_time"=>"08:00",
 "products"=>""},
 "create"=>"Create Sale"}
Run Code Online (Sandbox Code Playgroud)

Sales控制器的创建操作具有以下内容:

def create
  if params[:create] == "Create Sale"
    # process the data - add a start and end to params
    #format = "%m/%d/%Y %H:%M:%S"
    params[:sale][:start] = DateTime.strptime("#{params[:sale][:start_date]} #{params[:sale][:start_time]}:00", '%m/%d/%Y %H:%M:%S')
    params[:sale][:end] = DateTime.strptime("#{params[:sale][:end_date]} #{params[:sale][:end_time]}:00", '%m/%d/%Y %H:%M:%S')
    @sale = Sale.new(:name => params[:sale][:name], :desc => params[:sale][:desc], :start => params[:sale][:start], :end => params[:sale][:end])
    if @sale.save
      redirect_to @sale
    else …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-engines ruby-on-rails-3

2
推荐指数
1
解决办法
4865
查看次数