Tag: ruby

如何将嵌套集中的所有记录呈现为真正的html树

我在我的Rails项目中使用了awesome_nested_set插件。 我有两个看起来像这样的模型(简化): class Customer < ActiveRecord::Base has_many :categories end class Category :customer_id validates_presence_of :name # Further validations… end 数据库中的树按预期构造。 parent_id , lft和rgt所有值都是正确的。 树有多个根节点(当然在awesome_nested_set允许)。 现在,我想在一个正确排序的树中呈现给定客户的所有类别,例如结构:例如嵌套的 标签。 这不会太难,但我需要它才能有效(sql查询越少越好)。 更新:计算出可以在没有进一步SQL查询的情况下计算树中任何给定节点的子节点数: number_of_children = (node.rgt – node.lft – 1)/2 。 这并不能解决问题,但可能会有所帮助。

“<< – ”在Ruby中意味着什么?

例如: code = <<-EOH bundle install bundle exec unicorn -c /etc/unicorn.cfg -D EOH 这段代码有什么作用? 什么是<<-叫?

证书续订后,Ruby Net :: HTTP响应OpenSSL :: SSL :: SSLError“证书validation失败”

我们最近更新了我们网站的SSL证书,以下内容发生在Mac OS El Capitan 10.11.3上: require ‘net/http’ Net::HTTP.get URI(‘https://www.google.com’) # => “…” # The site whose certificate got renewed Net::HTTP.get URI(‘https://www.example.com’) # => OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed 我在Google和StackOverflow上的所有搜索都提出了表明Ruby安装存在问题的答案,但它们似乎与较旧的Ruby版本有关,我认为这不是这种情况。 这是我尝试过的: brew update brew upgrade openssl rvm osx-ssl-certs update all rvm install ruby-2.3.1 –disable-binary –with-openssl-dir=”$(brew –prefix openssl)” (之前我没有这个版本) rvm requirements 根据Uzbekjon的建议, crlrefresh rpv清除OSX系统范围的CRL缓存。 […]

什么是Ruby中的“for”

在Ruby中: for i in A do # some code end 是相同的: A.each do |i| # some code end for不是内核方法: ruby究竟是什么“ for ” 有没有办法使用其他关键字来做类似的事情? 就像是: total = sum i in I {x[i]} 映射到: total = I.sum {|i] x[i]}

如何在Rails中设置database.yml文件?

我正在做本教程(http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/),在开始之前是第4步设置database.yml文件。 不确定那是什么意思。 有人可以解释一下吗?

未定义的符号:运行bundle install时的SSLv2_method

我在运行bundler安装我的gem时遇到此错误。 我环顾四周找不到解决办法,除了在rvm上安装openssl pkg并重新安装所有ruby,这样做没有解决问题,还有其他可能的解决方案吗? 这是我运行bundle install的输出: Fetching gem metadata from https://rubygems.org/.Unfortunately, a fatal error has occurred. Please see the Bundler troubleshooting documentation at http://bit.ly/bundler-issues. Thanks! /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-linux/openssl.so: undefined symbol: SSLv2_method – /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-linux/openssl.so (LoadError) from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/openssl.rb:17:in `’ from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/net/https.rb:22:in `’ from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /home/octavius/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from […]

使用Homebrew安装Ruby

我用Homebrew安装了Ruby: brew install ruby 根据“警告”,它说: 注意:默认情况下,gem安装的二进制文件将放入: /usr/local/Cellar/ruby/1.9.3-p194/bin 您可能希望将其添加到PATH中。 这是什么意思,我怎样才能将它添加到我的“路径”中? 假设它与bash_profile有关,但对此却是新的。