小编cmh*_*bbs的帖子

何时使用嵌套在模块中的嵌套类和类?

我对何时使用子类和模块非常熟悉,但最近我一直在看这样的嵌套类:

class Foo
  class Bar
    # do some useful things
  end
end
Run Code Online (Sandbox Code Playgroud)

以及嵌套在模块中的类如下:

module Baz
  class Quux
    # more code
  end
end
Run Code Online (Sandbox Code Playgroud)

文档和文章都很稀疏,或者我没有足够的知识来搜索正确的搜索术语,但我似乎无法找到有关该主题的更多信息.

有人可以提供关于为何/何时使用这些技术的帖子的示例或链接?

ruby oop

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

使用RSpec测试ActionMailer多部分电子邮件

我目前正在使用RSpec测试我的邮件程序,但我已经开始设置多部分电子邮件,如Rails指南中所述:http: //guides.rubyonrails.org/action_mailer_basics.html#sending-multipart-emails

我有文本和html格式的邮件模板,但看起来我的测试只检查HTML部分.有没有办法单独检查文本模板?

是否仅检查HTML视图,因为它是默认顺序中的第一个?

ruby testing rspec actionmailer ruby-on-rails-3

31
推荐指数
3
解决办法
9573
查看次数

现代文本编辑器类似于极致

在15年的大部分时间里使用vi之后,我在与Go一起工作的时候一直想着Rob Pike的Acme.我真的很喜欢它的最小和轻量级.现代unix-esque的东西在Acme中表现不佳,Ruby开发在这种环境中充其量是刺激性的(然而,它与Go和C完美结合).

我已经在vim中适应了Acme的一些"功能",但我现在正在摸索选择.是否有任何文本编辑器具有以下(有些主观)功能,而不是其他?

  • 没有语法高亮或行号
  • 在osx和linux上运行
  • 缓冲区/窗口拆分
  • 浅色背景,黑暗的前景(或改变这种能力的能力)
  • 几乎没有膨胀
  • 能够在编辑器中运行打开终端或从中运行命令

我不知道任何编辑器可以给我Acme的鼠标支持,但是这些天我使用的是魔术触控板,所以没有必要.我尝试过Sublime,但感觉有点膨胀,分裂的窗户会浪费空间.全屏模式接近我正在寻找的东西,但我不能把手指放在缺少的东西上.如果我也可以在窗口中打开一个终端,Sublime可能会工作.

我目前的环境是iTerm2全屏,利用vim进行代码编辑.这种方法效果相对较好,但使用鼠标会很方便.我的搜索的一个巨大推动力是Aqua浪费了太多的空间,窗口边框/阴影,并没有足够的平铺窗口管理器可用于OSX.

ide vi macos editor sublimetext2

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

Rails 3.2到4.0升级:false的未定义方法to_datetime:FalseClass

我正在升级我从3.2继承到4.0.1的Rails应用程序.我跟着完了边缘指南:

http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0

除了一个我似乎无法找到根本原因的错误之外,我已经解决了所有问题.当我尝试保存用户模型对象时,我遇到以下错误:

[1] pry(main)> User.create(name: "test user", email: "testuser@frobnitz.com", password: "testPassword123", password_confirmation: "testPassword123")                                                                                                                               

(0.6ms)  BEGIN
(0.9ms)  ROLLBACK
NoMethodError: undefined method `to_datetime' for false:FalseClass
from /home/cmhobbs/src/serve2perform/.gem/ruby/2.3.0/gems/activesupport-4.0.1/lib/active_support/core_ext/date_time/calculations.rb:161:in `<=>'
Run Code Online (Sandbox Code Playgroud)

activesupportrals安装了4.0.1和4.0.1.我使用chgems并清除了我的.gem/目录,Gemfile.lock然后再捆绑.

这是用户模型要点.

这里是所有的回溯输出的,我可以从中获取pry.

以下是User表架构链接.

ruby-on-rails activesupport activemodel ruby-on-rails-3 ruby-on-rails-4

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

EM :: Iterator的工作示例

有没有人有EM :: Iterator的任何工作示例?我能找到的唯一例子似乎是(或指向)的副本:

http://yardoc.org/docs/eventmachine-eventmachine/EventMachine/Iterator

我没有在EventMachine的Rdoc中看到任何EM :: Iterator的实例,所以我不确定它是否是一个已删除的旧类.当我尝试使用EM :: Iterator时,我通常会收到以下错误:

NameError:未初始化的常量EventMachine :: Iterator

谢谢!

ruby iteration eventmachine

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

在Rails中使用config.assets.precompile在子目录中包含资源

我在Heroku上运行了一个Rails 3.1.3应用程序,利用S3进行资产托管asset_sync.我的app/assets/css目录中包含一个包含两个文件的子目录:main.css.scsscategories.css.scss.我的内容如下production.rb:

config.assets.precompile += [ 'admin/main.css.scss', 'admin/categories.css.scss', 'print.css', 'products.css.scss', 'services.css.scss' ]

当我推送到Heroku时,我的所有资产都被预编译并上传,但这两个文件除外.我是否需要执行某种黑魔法来包含这两个文件?

ruby assets ruby-on-rails ruby-on-rails-3 asset-pipeline

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

在go中迭代xml

给出一个类似于以下的xml块:

<data>
  <entry>
    ... several nested elements
  </entry>
  <entry>
    ... more nested elements
  </entry>
</data>
Run Code Online (Sandbox Code Playgroud)

如何迭代<entry>文档中的每个元素并将其放入结构中以对其执行某些操作,然后再转到下一个条目?

我已经能够将数据解析并存储到上面的XML块中的结构中,其中只<entry>存在单个元素.也就是说我成功地将这样的东西存储到结构中:

<entry>
  ... several nested elements
</entry>
Run Code Online (Sandbox Code Playgroud)

xml struct go xml-parsing

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

为什么在Ruby中使用require或autoload时我必须插入Dir.pwd?

这对我来说似乎是一个Ruby 1.9问题,但是当我尝试使用像require "lib/mylibrary"Ruby 这样的东西要求或自动加载源时,会出现"没有这样的文件加载"错误.我总是这样插入Dir.pwd: require "#{Dir.pwd}/lib/mylibrary"

我看到各地的源代码不需要查找当前的工作目录来包含源文件.我错过了什么?

ruby load path require

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

在Go中通过HTTP接收二进制数据

在go中通过HTTP接收二进制数据的最佳方法是什么?就我而言,我想将zip文件发送到我的应用程序的REST API.goweb特有的例子很棒,但net/http也很好.

api rest binary binary-data go

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