小编big*_*ato的帖子

Ruby:"if!object.nil?" 或"如果对象"

它们在if/else/end声明中使用时是否相同?你平常都做什么?我想知道是否存在任何微妙的差异或边缘情况,object并且!object.nil?会有不同的反应.

ruby

20
推荐指数
3
解决办法
4万
查看次数

如何删除setgid(linux/unix)?

我只是用改变了我的文件权限$ sudo chmod g+s filename和我的文件权限从转身drwxr-xr-xdrwxr-sr-x.我该如何删除它?

unix linux

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

Rails + Dalli memcache gem:DalliError:没有可用的服务器

嗨,我在服务器上设置我的Rails项目时遇到了麻烦,因为apache一直在抱怨

DalliError: No server available.

我安装memcached在我的ubuntu机器上,但它仍然无法正常工作.我的rails项目也在config.cache_store = :dalli_store, 'localhost:11211', { :namespace => "production" }environment/production.rb中.我该怎么调试呢?

我的日志显示在每个请求之前:

localhost:11211 failed (count: 6)
DalliError: No server available
Run Code Online (Sandbox Code Playgroud)

telnet到11211:

    root@s2:/usr/local/www/production/current/log# telnet localhost 11211
    Trying 127.0.1.1...
    telnet: Unable to connect to remote host: Connection refused
Run Code Online (Sandbox Code Playgroud)

memcached ruby-on-rails dalli

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

Ruby:If/else语句中定义的变量可以在if/else之外访问吗?

def foo
  #bar = nil
  if true
    bar = 1
  else
    bar = 2
  end
  bar #<-- shouldn't this refer to nil since the bar from the if statement is removed from the stack?
end

puts foo # prints "1"
Run Code Online (Sandbox Code Playgroud)

我一直认为你必须创建一个临时变量并将其定义为nil或初始值,以便在if/else语句中定义的变量将保持在if/else语句的范围之外而不会从堆栈中消失?为什么打印1而不是零?

ruby

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

Ruby + Rspec:我应该如何测试attr_accessor?

ReturnItem上课了.

眼镜:

require 'spec_helper'

describe ReturnItem do
  #is this enough?
  it { should respond_to :chosen }
  it { should respond_to :chosen= }

end
Run Code Online (Sandbox Code Playgroud)

类:

class ReturnItem
  attr_accessor :chosen
end
Run Code Online (Sandbox Code Playgroud)

这似乎有点乏味,因为attr_accessor几乎每个班级都使用它.在rspec中是否有一个快捷方式来测试getter和setter的默认功能?或者我是否必须为每个属性单独和手动测试getter和setter的过程?

rspec

18
推荐指数
2
解决办法
6560
查看次数

Ruby类:初始化self vs. @variable

有人可以解释在定义类时初始化"self"和@variables之间的区别吗?

这是一个例子

class Child < Parent
  def initialize(self, stuff):
    self.stuff = stuff
    super()
  end
end
Run Code Online (Sandbox Code Playgroud)

因此,在这种情况下,我岂不是能替代self.stuff@stuff?有什么不同?另外,super()只是意味着在Parent初始化方法中,Child应该只是继承它吗?

ruby

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

Ruby:使用正则表达式根据文件名查找和打开文件?

我试图测试从代码生成的文件的内容.问题是文件的全名基于时间戳abc123_#{d.strftime('%Y%m%d%I%M%S')}.log

我怎么能File用来找到这个文件并阅读它?我尝试File.exists?()使用正则表达式作为参数,但这不起作用.

我在stackoverflow上的另一个问题中发现了这个:

File.basename(file_path).match(/_.*(css|scss|sass)/)

在文件位于我的public文件夹中的情况下,我如何能够使用它?

回答

所以下面的两个答案都起作用,我使用它们的组合.

Dir['public/*.log'].select { |f| f =~ /purge_cc_website/}

*作为通配符是那种本身就是一个正则表达式.之后,您使用实际的正则表达式过滤数组.

ruby-on-rails

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

Rails + Prawn:#Prawn :: Document:0x007fda2d594a98>的未定义方法`table':

我正在使用Rails 4 + prawn_rails +最新版本的prawn(v 1.1.0),我在更新日志中注意到:https://github.com/prawnpdf/prawn/wiki/CHANGELOG表格现在是分开的.

我按照说明进行操作require "prawn/tables".我这样做是通过在我的lib目录中添加一个文件:

LIB/prawn.rb

require "prawn/tables"
Run Code Online (Sandbox Code Playgroud)

我重新启动了我的rails服务器,但仍然收到错误:

NoMethodError - undefined method `table' for #<Prawn::Document:0x007fda2d594a98>:
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

prawn

14
推荐指数
2
解决办法
7880
查看次数

Ruby on Rails:/ bin/sh:rspec:找不到命令

我目前正在阅读迈克尔·哈特尔的RoR教程,并且在尝试运行Spork和Guard时陷入了第3章.当我尝试运行测试时,我得到:

/bin/sh: rspec: command not found

是的,我确实环顾四周寻找答案,但我没有看到RubyTest.sublime.settings文件在哪里,所以我不知道如何编辑它.任何人都可以帮我解决如何解决我的错误?

这是我的用户fodler中的Rubytest.sublime.settings文件

{
  "erb_verify_command": "bundle exec erb -xT - {file_name} | ruby -c",
  "ruby_verify_command": "bundle exec ruby -c {file_name}",

  "run_ruby_unit_command": "bundle exec ruby -Itest {relative_path}",
  "run_single_ruby_unit_command": "bundle exec ruby -Itest {relative_path} -n     '{test_name}'",

  "run_cucumber_command": "bundle exec cucumber {relative_path}",
  "run_single_cucumber_command": "bundle exec cucumber {relative_path} -l{line_number}",

  "run_rspec_command": "bundle exec rspec {relative_path}",
  "run_single_rspec_command": "bundle exec rspec {relative_path} -l{line_number}",

  "ruby_unit_folder": "test",
  "ruby_cucumber_folder": "features",
  "ruby_rspec_folder": "spec",

  "ruby_use_scratch" : false,
  "save_on_run": false,
  "ignored_directories": [".git", "vendor", "tmp"],

  "hide_panel": false,

  "before_callback": "", …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails sublimetext2

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

Sublime Text subl快捷方式不起作用:ln:/ Users/edmundmai/bin/subl:没有这样的文件或目录

嗨,我正在尝试设置sublime文本2(subl)的终端快捷方式,但它不起作用.我按照https://github.com/mhartl/rails_tutorial_sublime_text/blob/master/README.md上的说明操作,但无法完成第一步.

当我输入:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Run Code Online (Sandbox Code Playgroud)

我收到错误

ln: /Users/edmundmai/bin/subl: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

sublimetext2

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

标签 统计

ruby ×4

ruby-on-rails ×3

sublimetext2 ×2

dalli ×1

linux ×1

memcached ×1

prawn ×1

rspec ×1

unix ×1