标签: ruby

Wkhtmltopdf单行中的字符在页面之间部分切割

我正在使用ruby on rails(3.1)进行项目.我的要求是从html内容生成pdf.所以我使用pdfkit gem.

在某些页面中,单行中的字符在页面之间部分切割.当我使用pdfkit gem将html转换为pdf时

版本的wkhtmltopdf:wkhtmltopdf - 0.11.0 rc1

操作系统:Linux CentOS 5.5

在下图中显示页面之间部分切割的字符.

请提出解决方案.

例1

在此输入图像描述

例2

在此输入图像描述

html ruby ruby-on-rails pdfkit wkhtmltopdf

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

Ruby gem命名约定

我正在创建一个红宝石宝石,我注意到(据我所知)似乎没有宝石的命名约定.例如,我见过两个:

gem 'foo-bar'
gem 'foo_bar'
Run Code Online (Sandbox Code Playgroud)

红宝石的命名是否有某种明确的指导/惯例?

ruby rubygems ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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

我应该检查`.ruby-gemset`和/或`.ruby-version`?

我刚刚更新RVM,并取代旧的.rvmrc,它自动创建.ruby-gemset.ruby-version.

我总是有.rvmrc像内容这样的文件rvm use --create default@project_name.但是,.ruby-version包含我正在运行的特定Ruby版本而不是default.我很犹豫要检查这个.

此外,我听到有人在播客上说不应该登记,.ruby-gemset因为其他人可能有自己喜欢如何命名宝石.

什么时候应该或不应该我办理登机手续.ruby-gemset和/或.ruby-version

特别:

  • 有哪些权衡?
  • 项目类型如何影响决策(例如,应用程序与宝石)?
  • 如果他们应该签入,项目类型如何影响这些文件中应该包含的内容?

来自rvm,rbenv等工具创建者的引用将在答案中得到认可.

ruby rvm

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

Ruby散列默认值行为

我正在浏览Ruby Koans,我打#41,我相信这是:

def test_default_value_is_the_same_object
  hash = Hash.new([])

  hash[:one] << "uno"
  hash[:two] << "dos"

  assert_equal ["uno","dos"], hash[:one]
  assert_equal ["uno","dos"], hash[:two]
  assert_equal ["uno","dos"], hash[:three]

  assert_equal true, hash[:one].object_id == hash[:two].object_id
end
Run Code Online (Sandbox Code Playgroud)

它无法理解行为所以我用谷歌搜索它并发现使用哈希默认值时的奇怪的红宝石行为,例如Hash.new([])很好地回答了这个问题.

所以我理解它是如何工作的,我的问题是,为什么一个默认值,如一个增量的整数在使用过程中不会被改变?例如:

puts "Text please: "
text = gets.chomp

words = text.split(" ")
frequencies = Hash.new(0)
words.each { |word| frequencies[word] += 1 }
Run Code Online (Sandbox Code Playgroud)

这将采用用户输入并计算每个单词的使用次数,它的工作原理是因为始终使用默认值0.

我觉得它与<<操作员有关,但我喜欢解释.

ruby hash

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

用于新的10.9 OSX for ruby​​ gems的命令行工具?

安装OSX Mavericks 10.9演示后,我在运行捆绑后得到这个

    Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb 
extconf.rb:17: Use RbConfig instead of obsolete and deprecated Config.
checking for socket() in -lsocket... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/sandric/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-zlib-dir
    --without-zlib-dir …
Run Code Online (Sandbox Code Playgroud)

ruby macos xcode command-line-tool

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

Windows上的Jekyll:Pygments无效

在我总是使用RC之前,我更新到了最新的JekyllBuild(1.0.3).更新代码解析后(使用Pygments)不再起作用.我总是得到以下错误:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
?[31m  Liquid Exception: No such file or directory - /bin/sh in 2012-01-17-test-post.md?[0m
Run Code Online (Sandbox Code Playgroud)

还有人遇到过这个问题吗?

我不知道红宝石,所以我不能自己调试:(

ruby pygments jekyll

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

如果.html.erb中的else语句在视图中

在rails中,我经常会遇到这样的情况:在视图中我会做类似的事情

<% if @some_condition_previusly_established_in_a_controller %>
 <div class="one">123</div>
<% else %>
 <div class="two">something else</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

它看起来有点乱.这是否是一种可接受的观看方式?

ruby model-view-controller ruby-on-rails

40
推荐指数
4
解决办法
8万
查看次数

错误:无法构建gem本机扩展 - 安装mysql2时出错

运行bundle install时出错

Installing mysql2 (0.3.11) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
...
Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)

当我运行确保gem install mysql2 -v '0.3.11'.我仍然得到相同的错误.

ruby mysql rubygems ruby-on-rails bundler

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

安装RVM:"需求安装失败,状态为:1."

这是我在命令提示符之前看到的最后一件事:

Searching for binary rubies, this might take some time.
Found remote file https://rvm.io/binaries/osx/10.9/x86_64/ruby-2.1.1.tar.bz2
Checking requirements for osx.
About to install Homebrew, press `Enter` for default installation in `/usr/local`,
type new path if you wish custom Homebrew installation (the path needs to be writable for user)
: Requirements installation failed with status: 1.
Run Code Online (Sandbox Code Playgroud)

我认为它没有达到我按Enter键的程度

ruby rvm osx-mavericks

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

无法在 macos-10.15.6 上捆绑安装 puma 4.3.5 或 gem puma 与 ruby​​-2.6.6

无法在 macos-10.15.6 上使用 ruby​​-2.6.6 捆绑安装 puma 4.3.5 或 gem puma 尝试捆绑我的项目的依赖项,但 puma 4.3.5 出现错误。有人知道这个吗?

xxxxxxxxxxxx

这是错误内容:

fetching puma 4.3.5
Installing puma 4.3.5 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/lxj/.rvm/gems/ruby-2.6.6/gems/puma-4.3.5/ext/puma_http11
/Users/lxj/.rvm/rubies/ruby-2.6.6/bin/ruby -I /Users/lxj/.rvm/rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0 -r ./siteconf20200731-28585-1eobsvu.rb extconf.rb
checking for BIO_read() in -lcrypto... yes
checking for SSL_CTX_new() in -lssl... yes
checking for openssl/bio.h... yes
checking for DTLS_method() in openssl/ssl.h... yes
checking for TLS_server_method() in openssl/ssl.h... yes
checking for SSL_CTX_set_min_proto_version in openssl/ssl.h... yes
creating Makefile

current directory: …
Run Code Online (Sandbox Code Playgroud)

ruby macos rubygems bundler

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