我正在尝试使用Prawn生成pdf
@buyer = Buyer.last
Prawn::Document.generate("samle.pdf") do
  text "hello #{@buyer.name} world"
end
但这显然不起作用(只有我使用类变量@@ buyer),我的问题是将变量传递给Prawn :: Document.generate的正确方法是什么
(我知道解决这个问题的方法是prawnto,但我正在尝试一点......而且这也是一个sinatra项目)
我正在使用Prawn gem 在Ruby on Rails中创建pdf文档的生成器,我想到了当我有中文,日文和西里尔文字符时它们显示不正确的问题.我用Google搜索,因为"当我生成字体时,我需要指定,pdf文本应该用什么字体呈现".
现在这不是问题,而是我的文档将包括gTLD支持的所有可能的字符.
问题1:
你知道生成pdf文件的任何字体,包括尽可能多的字符(亚洲,欧洲,符号......)?理想情况下,gTLD支持的所有字符.
我知道Prawn默认包含gkai00mp.ttf,但它专注于中文字符,我正在寻找允许将它们全部包含在内(就像PokeMon一样,它们能够抓住它们;我知道我要求的太多但仍然...... .)
另一个问题是当客户打开此文档时:
问题2
是否由Prawn生成的pdf包括我在pdf文件中的字体,所以当其他计算机打开它时,字体会出现?这是默认标准吗?或者我需要确保/强制执行此功能?
问题背景:
假设config/locales/en.yml中有一些非常重要的行对于存在至关重要.
en:
  foo:
    bar: "bubla!"
所以我现在测试的方式是这样的
#spec/locals_spec.rb
require 'spec_helper'
describe I18n do
  it do
    I18n.t('date.datepicker').should be_kind_of(String)
  end
end
这样我只是确保翻译存在并且不会继续(例如'foo.bar.car.lol'
但我仍然不满意
问题:使用RSpec测试I18n翻译的最佳实践是什么?在spec文件夹中我应该放置它们?
ruby-on-rails internationalization rspec-rails ruby-on-rails-3
当我想测试RSpec 是否无法访问属性时我就是这样做的
class Foo
  attr_accesible :something_else
end
describe Foo do
  it('author should not be accessible')    {lambda{described_class.new(:author=>true)}.should raise_error ActiveModel::MassAssignmentSecurity::Error}
  it('something_else should be accessible'){lambda{described_class.new(:something_else=>true)}.should_not raise_error ActiveModel::MassAssignmentSecurity::Error}
end
这样做有更好的方法吗?
...谢谢
我正在尝试使用像这样的Sass循环生成我自己的前缀版本来解决Bourbon不支持@keyframe:
$list: '' -ms- -webkit- -moz- -o-
$at: @  //at sign
@each $prefix in $list
  #{$at}#{$prefix}keyframes moveclouds
    from
      #{$prefix}transform: translateX(2400px)
    to
      #{$prefix}transform: translateX(-400px)
并期望生成css:
@keyframes moveclouds from {
  transform: translateX(2400px);
}
@keyframes moveclouds to {
  transform: translateX(-400px);
}
@-moz-keyframes moveclouds from {
  -moz-transform: translateX(2400px);
}
@-moz-keyframes moveclouds to {
  -moz-transform: translateX(-400px);
}
....
问题是我无法弄清楚如何@在一行开始时强制Sass输出(在符号处)
如果我做
$at: @    // wont work, error
$at: \@   // will generate  \@keyframes = not good
$at: "\@" // wont …嗨,有人曾经遇到PATCH过XHR(AJAX请求)方法被防火墙阻止的情况吗?
基本上我们有一种情况,客户抱怨他无法更新我们的应用程序的东西.我们在它工作的世界各地检查了它(我们通过VPN几个地方连接)
然后他们为我们提供了一个远程桌面(最新的Windows,最新的Chrome),所以我们从他们的网络中为我们自己尝试了它,他们是对的.通过AJAX调用的所有PATCH方法最终都以405结束,但所有PUT POST DELETE GET方法都很好.我们试图在应用程序和Nginx日志中跟踪这些PATCH请求,但似乎它们从未到过我们的服务器.所以结论是他们的防火墙更新让请求离开建筑物.
正常:
| Laptop PATCH  ->  Clients Firewal   ->   Load Balancer   ->  Nginx proxy  -> Rails app (200 response) |
这个防火墙案例:
| Laptop PATCH ->  Clients Firewal  (405 response)   |
由于没有时间对此进行调查,我们只是将一些有问题的端点从PATCH更改为PUT,一切正常!
我唯一的解释是因为PATCH是另一个(后来介绍的)RFC的一部分,他们的防火墙必须是超级旧的,而不是将PATCH注册为有效方法.他们的系统管理员不知道为什么会这样.但有一条线索是,应用程序是EdTech,客户是学校=>他们不一定可能在他们的网络堆栈上拥有最新技术.也可以预设保姆软件.
在同一问题上交叉引用Reddit讨论:https://www.reddit.com/r/rest/comments/5gkvba/patch_blocked_by_firewall/
我正在尝试从元组列表中提取值:
s3_headers = %{headers: [{"x-amz-id-2","yQKurzVIApkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxFBINsPxe+7Vc="},
  {"x-amz-request-id", "82xxxxxxxxx23"},
  {"Date", "Thu, 25 May 2017 22:03:09 GMT"},
  {"Last-Modified", "Thu, 25 May 2017 21:42:28 GMT"},
  {"ETag", "\"6f04733333333333333368997\""},
  {"x-amz-meta-original_name", "Screenshot from 2016-11-27 17-32-03.png"},
  {"Accept-Ranges", "bytes"}, {"Content-Type", ""},
  {"Content-Length", "612391"}, {"Server", "AmazonS3"}], status_code: 200}
我到目前为止如何设法做到这一点的方式是这样的:
{"x-amz-meta-original_name", original_name } = s3_headers |> List.keyfind("x-amz-meta-original_name", 0)
{"Content-Length", content_length }          = s3_headers |> List.keyfind("Content-Length", 0)
{"Content-Type", content_length }            = s3_headers |> List.keyfind("Content-Type", 0)
感觉过度复杂可以推荐更好的方法吗?
我有一个带有浮动列的表(我正在使用 MySQL、mysql2 gem,一切都是标准的)
create_table :some_table do |t| 
  t.float  :amount 
end 
当我这样做时,我正在控制台上玩
a = SomeTable.new
a.amount = 9999.99
a.save!
#9999.99
a.amount
#9999.99
a.reload
a.amount
#9999.99
一切还好
a = SomeTable.new
a.amount = 9999.999
a.save!
#9999.999
a.amount 
#9999.999
a.reload
a.amount
#10000.00
正如您所看到的 ruby (或rails)对数字进行四舍五入。
有人能解释一下这是为什么吗?……还是只有我一个人?
我正在用haml编写文本:
Blab bla for any questions contact us on me@foo.com.
所以haml看起来像
%p
  Blab bla for any questions contact us on
  = mail_to 'me@foo.com'
  .   
注意. 是ascii中的点,我也可以用= '.'(渲染字符串点)替换该行 
但渲染的文字看起来像
Blab bla for any questions contact us on me@foo.com .
区别在于最后点之前的空格
我想出的解决方案就是
%p
  Blab bla for any questions contact us on
  = mail_to('me@foo.com') + '.'
这只是我正在寻找最佳实践:) thx
如你所知,你可以做ruby
"%03d" % 5
#=>  "005"
"%03d" % 55
#=> "055"
"%03d" % 555
#=> "555"
所以基本上数字将有3个字符串位置的"0"前缀
只是想知道是否有可能以类似的方式做数字字符串后缀?(如果声明请不要)
something 5
#=> 500
something 55
#=> 550
something 555
# => 555