小编shi*_*vam的帖子

使用ruby将Excel和Word文件转换为PDF

我想使用Ruby将具有多个工作表和Word文件的Excel转换为PDF格式作为单个文件.

是否有任何脚本/宝石/插件可用于实现此目的?

ruby ruby-on-rails ruby-on-rails-4

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

Rails - 禁用api的secrets.yml

secrets.yml即使我将Rails作为JSON API运行,也似乎没有用于检查的配置选项

Puma发现了这个错误:

缺少secret_tokensecret_key_base'生产'环境,在config/secrets.yml(RuntimeError)中设置这些值

任何线索该怎么办?我想我可以生成一个假人secret_key_base并继续前进

ruby ruby-on-rails ruby-on-rails-4

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

使用Tempfile在rails中创建一个zip文件

我想在rails中创建一个临时的.zip.为了创建zip文件我使用rubyzipgem.

目前我这样做:

zfname = Tempfile.new(['somename','.zip'], Rails.root.to_s + '/tmp/')
Zip::ZipFile.open(zfname.path, Zip::ZipFile::CREATE) do |zipfile|
  zipfile.add(file, basepath + file)
end
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

Zip::ZipError: Zip end of central directory signature not found
Run Code Online (Sandbox Code Playgroud)

是否可以Tempfile用于拉链?如果是的话,这里有什么问题?

ruby zip ruby-on-rails temporary-files

4
推荐指数
2
解决办法
7000
查看次数

向 Stripe 发出原始 HTTP POST 请求时如何发送 Stripe 的密钥

由于 Stripe .NET nuget 包/库建立在 Stripe API 的 v1 之上,并且从那时起发生了一些变化,我向 Stripe 端点发出原始 HTTP 请求,以将新信用卡添加到现有客户的帐户。

我的问题是:如何发送 Stripe 密钥?查看此 CURL 请求,我假设它是作为基本身份验证标头发送的。

所以,这就是我所做的:

var createCardUrl = string.Format(
   "https://api.stripe.com/v1/customers/{0}/sources", 
   stripeCustomerId);

dynamic headers = new ExpandoObject();
headers.Authorization = string.Format("Basic {0}", Constants.StripeSecretKey);

dynamic body = new ExpandoObject();
body.source = stripeToken;

dynamic cardAdditionResult = Http.MakePostRequest(
                              createCardUrl, 
                              headers, 
                              body)
                            .ObjectFromJson();
Run Code Online (Sandbox Code Playgroud)

我的地方MakePostRequest如下。

public static string MakePostRequest(string url, 
                IEnumerable<KeyValuePair<string, object>> headers = null, 
                string body = null)
{
    var request = (HttpWebRequest)WebRequest.Create(url);
    request.Method = "POST";

    if …
Run Code Online (Sandbox Code Playgroud)

.net c# http stripe-payments stripe.net

4
推荐指数
1
解决办法
1846
查看次数

在ruby中一次移动具有相同扩展名的所有文件

在终端我可以使用类似的东西:

mv *.ext /some/output/dir/
Run Code Online (Sandbox Code Playgroud)

我想在红宝石中也一样.我可以在反引号(`)或使用system()下使用系统命令,但如何以ruby方式实现相同的功能?

我试过了:

FileUtils.mv '*.sql', '/some/output/dir/'
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它专门查找文件名'*.sql'

ruby ruby-on-rails

3
推荐指数
1
解决办法
907
查看次数

Ruby PG gem使用数组作为exec_params的参数

我想传递一个像这样的ruby数组值:

sql = "SELECT $1"
User.connection.raw_connection.exec_params(sql, [[1,2]])
Run Code Online (Sandbox Code Playgroud)

这回来了

PG::IndeterminateDatatype: ERROR:  could not determine data type of parameter $1
Run Code Online (Sandbox Code Playgroud)

如果我改变sql"SELECT $1::int[]"我得到PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "[1, 2]".

有没有办法将ruby数组传入exec_params并将其转换为PostgreSQL数组?

ruby arrays postgresql ruby-on-rails pg

3
推荐指数
1
解决办法
1677
查看次数

Rails 中未定义的方法“清理”

我不知道导轨中的消毒是如何工作的。sanitize(params[:url])我在输入时出错了update_attribute

undefined method `sanitize'
Run Code Online (Sandbox Code Playgroud)

代码:

@sample.update_attribute(:url, sanitize(params[:url]))
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

3
推荐指数
1
解决办法
3018
查看次数

有一个默认变量`hash`吗?

我输入hash了irb或Rails控制台,我可以看到它保留了一些随机值.我不知道它应该存在还是由某些宝石完成的.

这里:

hash # => -943824087729528496
Run Code Online (Sandbox Code Playgroud)

再试一次:

hash # => 3150408717325671348 
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?如果是这样,有什么用?或者这个值意味着什么?

ruby

3
推荐指数
1
解决办法
59
查看次数

使用数组中的键访问哈希

我有一个包含大量嵌套键值对的大哈希.例如.

h = {"foo" => {"bar" => {"hello" => {"world" => "result" } } } }
Run Code Online (Sandbox Code Playgroud)

现在我想访问,result并按顺序在数组中输入密钥.

keys_arr = ["foo", "bar", "hello", "world"]
Run Code Online (Sandbox Code Playgroud)

动机很清楚,我想做的是:

h["foo"]["bar"]["hello"]["world"]
# => "result"
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做.我目前在做:

key = '["' +  keys_arr.join('"]["') + '"]'
eval("h"+key)
# => "result"
Run Code Online (Sandbox Code Playgroud)

这看起来像一个黑客.此外,它大大降低了我在真实环境中使用哈希的能力.

请建议其他更好的方法.

ruby arrays hash ruby-1.8.7

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

如何访问哈希的键作为对象属性

假设我有一个w_data哈希

 {"latitude"=>"40.695", "air_temperature"=>"-10", "longitude"=>"-96.854", "datetime"=>"2014-01-01 02:55:00"}
Run Code Online (Sandbox Code Playgroud)

我希望通过w_data.latitude而不是获取它的价值w_data["latitude"]

怎么做?

ruby

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