小编Lui*_*igi的帖子

虾 - 在每页的页脚中放置图像

我有一个图像image.jpg,我想放在每页左下角的页脚.我目前正在这样做,使用Ruby 1.9.3和prawn gem来创建PDF,如下所示:

start_new_page
image "image.jpg", :at => [0,30]  
Run Code Online (Sandbox Code Playgroud)

这有两个问题:

1)我正在动态创建页面,我需要将图像放在所有页面上.由于我永远不知道将创建多少页面,我不知道如何在每个页面上放置图像.

2)我的PDF中的表格被写在徽标的顶部,导致徽标不可见.

我在示例中找到了此代码段:

number_pages "<page> in a total of <total>", { :start_count_at => 0, :page_filter => :all, :at => [bounds.right - 50, 0], :align => :right, :size => 14 }
Run Code Online (Sandbox Code Playgroud)

这将在每个页面上放置文本,动态地按照我想要的方式; 但是,它不适用于图像.

如何在文档中的每个页面的左下角放置图像?

ruby prawn

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

rails 4验证电子邮件中是否存在特定域

我需要验证我的:email属性是否包含特定属性 - @kodak.com.

我怎样才能做到这一点?我正在使用Rails 4.

就像是:

validates_inclusion_of :email, '@kodak.com'

validation ruby-on-rails

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

替代"救援异常"

我偶尔会遇到一些意外错误,例如超时错误,503错误等.有些错误我甚至不知道我可能收到的错误.做以下事情我无法解释所有这些:

rescue Timeout::Error => e
Run Code Online (Sandbox Code Playgroud)

救援也是一个可怕的想法Exception.

我可以使用哪种替代方案?当出现错误时,我希望我的代码能够拯救所有这些代码; 如果没有错误,我需要避免它.我希望能够杀死我的脚本但不会跳过语法错误等.

ruby exception rescue

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

在满足条件之前采取行动

我觉得这应该很容易,我只是碰壁了.

我需要遍历一个数组,直到满足条件.例如:

count = 0    
array = ["","","test","demo"]
Run Code Online (Sandbox Code Playgroud)

我想循环遍历此数组递增计数1,直到找到第一个非空值.所以我想要索引值"test",但是当"test"达到时我想停止循环.

另外,作为旁注,我怎样才能找到数组中第一个非空值的索引?我想知道这两种方法,因为它们都有潜在的应用.

ruby arrays

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

Ruby中字符串的平均次数

我有一个数组:

array = ["0:00:31", "0:00:52", "0:01:05", "0:00:55", "0:01:33", "0:00:05", "0:00:01", 
      "0:05:10", "0:02:40", "0:03:03", "0:01:33", "0:00:00"]
Run Code Online (Sandbox Code Playgroud)

我需要平均数组中不等于的所有时间"0:00:00"."0:00:00"应该被抛弃.

最好的方法是什么?我正在循环遍历数组,删除所有0:00:00值,将字符串转换为整数并做一个平均值 - 但它似乎是我想要做的很多代码.

ruby arrays time average

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

首次设置Heroku数据库

我正在使用postgresql并在我的本地开发环境下运行.我将我的应用程序部署到Heroku,现在我需要设置heroku来使用数据库就像我在本地一样.

在本地,我会运行这个:

rake db:create
rake db:migrate
Run Code Online (Sandbox Code Playgroud)

在heroku上,我尝试了同样的事情:

heroku run rake db:create
Run Code Online (Sandbox Code Playgroud)

但是,这会返回此错误:

FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

Couldn't create database for {"adapter"=>"postgresql", "username"=>"stegjyxfak", "password"=>"wB-Yfh450945jI5UrnFjxdwZ_o4N5", "port"=>5432, "database"=>"d64phj348vgdg5hm", "host"=>"ec2-107-20-191-205.compute-1.amazonaws.com"}
Run Code Online (Sandbox Code Playgroud)

我应该运行什么来设置我的heroku数据库?我使用的是Rails 4.0,如果它是相对的.

database postgresql ruby-on-rails heroku

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

如果X不等于Y或Z则为红宝石

我有以下内容:

a_disposition = [nil,'test','demo']

a_volume = a_disposition.count{|x| x != nil}
Run Code Online (Sandbox Code Playgroud)

我想要计算所有非NOT nil和NOT的值'test'.什么是红宝石的说法count where x is not nil and x is not 'test'?我正在使用ruby 2.0.

ruby

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

将制表符分隔的CSV文件解析为Ruby 2.0中的哈希数组

我有以下代码:

  def csv_to_array(file)
    csv = CSV::parse(file)
    fields = csv.shift
    array = csv.collect { |record| Hash[*fields.zip(record).flatten] }
  end
Run Code Online (Sandbox Code Playgroud)

这将创建一个哈希数组,并使用逗号分隔值正常工作.我试图复制此代码为制表符分隔文件.目前,当我在我的制表符分隔文件上运行上面的代码时,我得到这样的东西:

array[0] = {"First Name\tLast Name\tCode\t"=>"Luigi\tSmith\t1406\t"}
Run Code Online (Sandbox Code Playgroud)

因此,每个数组对象都是预期的散列,但它有一个键值对 - 整个制表符分隔的标题行是键,单个数据行是值.

如何更改此代码以返回具有单个键值对的哈希数组,每列的标题映射到该列的行值?

ruby csv arrays hash ruby-on-rails

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

从源树/ RubyMine中恢复已删除的文件

我一直在使用Rubymine和Git进行raketask.我一直在使用SourceTree将我的更改推送到github.

我不小心在源代码树中为我正在处理的文件选择了"删除"选项.这种方法显然使文件"无可挽回地丢失",这并没有给我太多希望.反正有没有恢复文件?它还没有提交也没有推到github,而且文件不在我当地的垃圾箱里.

recover rubymine

0
推荐指数
1
解决办法
4677
查看次数

更容易编写的方法如果hash包含 - Ruby

我在我的模型的初始化方法中有以下内容:

@home_phone = contact_hash.fetch('HomePhone')
Run Code Online (Sandbox Code Playgroud)

但是,有时候我需要这个:

@home_phone = contact_hash.fetch('number')
Run Code Online (Sandbox Code Playgroud)

此外,有时这些都不是真的,我将需要该home_phone属性为空.

如何在不创建如此大循环的情况下编写出来:

if contact_hash.has_key?('HomePhone')
  @home_phone = contact_hash.fetch('HomePhone')
elsif contact_hash.has_key?('number')
  @home_phone = contact_hash.fetch('number')
else 
  @home_phone = ""
end
Run Code Online (Sandbox Code Playgroud)

ruby hash model ruby-on-rails

0
推荐指数
1
解决办法
78
查看次数