标签: ruby

如何在Ruby中将现有注释添加到RDoc?

我想将现有注释格式化为"RDoc注释",以便可以使用它们进行查看ri.

开始使用RDoc有哪些推荐的资源?

ruby rdoc

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

我如何在Ruby中使用(n)curses?

我想创建一个进度条来指示批处理作业的状态Ruby.

我已经阅读了一些关于使用(n)curses的教程/,其中没有一个特别有助于解释如何在终端中创建"动画"进度条或使用curses .Ruby

我已经知道使用一个单独的线程来监视给定作业的进度,我只是不确定如何继续绘制进度条.


更新

ProgressBar课程非常直接,完美地解决了我的问题.

ruby unix curses

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

从Ruby中的DateTime减去n小时

我有一个Ruby DateTime,它从表单中填充.此外,我还有n小时的表格.我想从之前的DateTime中减去这n小时.(获得时间范围).

DateTime有两个方法" - "和"<<"来减去日期和月份,但不是小时.(API).有什么建议我怎么做?

ruby datetime subtraction hour

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

我什么时候需要在Rails中重启服务器?

我注意到当我更改rails项目文件(例如html.erb或)时.css,我不必使用该rails -s命令重新启动服务器.

但我想当我想安装一个新宝石时,我必须这样做.问题是我正在努力让jQuery工作,所以我厌倦了一直这样做rails -s.

任何人都可以告诉我,rails -s当我修改我的应用程序时,我什么时候必须再次运行?何时我可以负担不起?如果不这样做,我的意思是只需刷新网页即可查看更改.

ruby ruby-on-rails

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

如何在ruby中进行命名捕获

我想命名我从扫描中得到的字符串的捕获.怎么做?

"555-333-7777".scan(/(\d{3})-(\d{3})-(\d{4})/).flatten #=> ["555", "333", "7777"]
Run Code Online (Sandbox Code Playgroud)

是否有可能将其变成这样

{:area => "555", :city => "333", :local => "7777" }
Run Code Online (Sandbox Code Playgroud)

要么

[["555","area"], [...]]
Run Code Online (Sandbox Code Playgroud)

我试过了

"555-333-7777".scan(/((?<area>)\d{3})-(\d{3})-(\d{4})/).flatten
Run Code Online (Sandbox Code Playgroud)

但它回来了

[]
Run Code Online (Sandbox Code Playgroud)

ruby regex

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

ruby on rails如何处理NaN

我已经阅读了一些有关帖子,NaN但没有弄清楚如何在Ruby on Rails中处理它.我想检查一个值,如果它是NaN我想要用零(0)替换它.我尝试了以下内容

logger.info(".is_a? Fixnum #{percent.is_a? Fixnum}")
Run Code Online (Sandbox Code Playgroud)

百分之百时,NaN它返回我的假.

我在记录器中做了一些改动

logger.info("Fixnum #{percent.is_a? Fixnum} percent #{percent}")
Run Code Online (Sandbox Code Playgroud)

产量

Fixnum false percent 94.44444444444444
Fixnum false percent NaN
Fixnum false percent 87.0
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

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

如何在控制台中禁用MongoDB日志消息?

我有这个小测试脚本:

require 'mongo'

mongo_client = Mongo::Client.new(['127.0.0.1:27017'], :database => 'test')
mongo_client[:collection].insert_one({a: 1})
Run Code Online (Sandbox Code Playgroud)

这是控制台输出:

$ ruby test.rb
D, [2015-05-17T21:12:05.504986 #25257] DEBUG -- : MONGODB | Adding 127.0.0.1:27017 to the cluster. | runtime: 0.0212ms
D, [2015-05-17T21:12:05.531238 #25257] DEBUG -- : MONGODB | COMMAND | namespace=admin.$cmd selector={:ismaster=>1} flags=[] limit=-1 skip=0 project=nil | runtime: 24.5481ms
D, [2015-05-17T21:12:05.554532 #25257] DEBUG -- : MONGODB | COMMAND | namespace=test.$cmd selector={:insert=>"collection", :documents=>[{:a=>1, :_id=><BSON::ObjectId:0x21935660 data=5558e80553657262a9000000>}], :writeConcern=>{:w=>1}, :ordered=>true} flags=[] limit=-1 skip=0 project=nil | runtime: 21.1718ms
Run Code Online (Sandbox Code Playgroud)

我想禁用那些日志消息,我不想要一个脏的STDOUT.我没有在ruby驱动程序中找到任何选项,而且我也尝试/etc/mongod.conf使用这些指令进行编辑(但它没有修复它):

verbose = false …
Run Code Online (Sandbox Code Playgroud)

ruby mongodb mongoid

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

在现有的Jekyll安装中切换主题

Jekyll有很多主题,例如https://github.com/jekyll/jekyll/wiki/Themes.

在EXISTING Jekyll安装中切换到新主题的最简单方法是什么?

ruby jekyll jekyll-bootstrap

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

未捕获的ReferenceError:未定义ReactDOM

所以我有Rails应用程序,我安装了react-rails gem,设置它并尝试运行测试应用程序.

新安装的,当我试图运行hello world程序时,这个错误变得很糟糕:

未捕获的ReferenceError:未定义ReactDOM

这是我的反应:

var HelloWorld = React.createClass({
  render: function() {
    return (
      <p>
        Hello, <input type="text" placeholder="Your name here" />!
        It is {this.props.date.toTimeString()}
      </p>
    );
  }
});

setInterval(function() {
  ReactDOM.render(
    <HelloWorld date={new Date()} />,
    document.getElementById('example')
  );
}, 500);
Run Code Online (Sandbox Code Playgroud)

它保存在/app/assets/javascripts/components/test.js.jsx文件中.

Rails 4.2.4使用Ruby 2.2.3

javascript ruby ruby-on-rails ruby-on-rails-4 reactjs

43
推荐指数
4
解决办法
6万
查看次数

宝石更新后:测试失败,"资产未声明在生产中预编译"

由于我更新了几个宝石,所有测试都失败并出现错误:

ActionView :: Template :: Error:未声明资产在生产中预编译.

添加Rails.application.config.assets.precompile += %w( favicons/manifest.json.erb )config/initializers/assets.rb和重新启动服务器

应用程序/视图/布局/ _faviconsheader.html.erb:14:在 _app_views_layouts__faviconsheader_html_erb__1320

应用程序/视图/布局/ application.html.erb:21:在 _app_views_layouts_application_html_erb__4340

该错误似乎是指_faviconsheader.html.erb包含该行的部分:

<%= content_tag :link, nil, rel: :manifest, href: image_path("favicons/manifest.json.erb") %>
Run Code Online (Sandbox Code Playgroud)

这个部分载入application.html.erb:<%= render partial: 'layouts/faviconsheader' %>.

知道是什么导致了这个错误,该怎么办?在gem更新之前,所有测试都通过了.

我使用Rails 4.2.5.其中一个更新的宝石是sprockets(更新的链轮到版本3.5.2).我在github上读到有关链轮4出现问题的内容,但我没有使用版本4.


PS即使我添加Rails.application.config.assets.precompile += %w( favicons/manifest.json.erb )config/initializers/assets.rb错误仍然存在.但即使这样可行,我也想了解为什么会出现这个问题,除了更新一些宝石之外没有任何变化.

ruby ruby-on-rails sprockets asset-pipeline

43
推荐指数
3
解决办法
2万
查看次数