标签: ruby

安装mysql2时出错:无法构建gem原生扩展

我在尝试mysql2为Rails 安装gem 时遇到了一些问题.当我尝试通过运行安装它bundle installgem install mysql2它给我以下错误:

安装mysql2时出错:错误:无法构建gem原生扩展.

我该如何修复并成功安装mysql2

ruby mysql rubygems ruby-on-rails mysql2

472
推荐指数
13
解决办法
25万
查看次数

Ruby:kind_of?与instance_of?与is_a?

有什么不同?我什么时候应该使用哪个?为什么会有这么多?

ruby inheritance introspection

470
推荐指数
4
解决办法
18万
查看次数

Ruby中include和require有什么区别?

我的问题类似于" Ruby中包含和扩展之间有什么区别? ".

Ruby requireincludeRuby 之间的区别是什么?如果我只想使用我班级模块中的方法,我应该是require它还是include它?

ruby require include

458
推荐指数
7
解决办法
22万
查看次数

如何反转'rails generate'?

即删除它创建的所有文件并回滚所做的任何更改?不一定是db,但更多的是配置文件.

例如,自动删除在routes.rb文件中删除的模型/控制器的所有资源映射以及可能已经进行了更改的其他地方?

谢谢.

ruby ruby-on-rails-3 rails-generate

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

如何在Ruby中将数组添加到另一个数组而不是最终得到多维结果?

somearray = ["some", "thing"]

anotherarray = ["another", "thing"]

somearray.push(anotherarray.flatten!)
Run Code Online (Sandbox Code Playgroud)

我期望

["some","thing","another","thing"]
Run Code Online (Sandbox Code Playgroud)

ruby arrays multidimensional-array

450
推荐指数
16
解决办法
35万
查看次数

Ruby中有"do ... while"循环吗?

我正在使用此代码让用户输入名称,而程序将它们存储在一个数组中,直到它们输入一个空字符串(他们必须在每个名称后按Enter键):

people = []
info = 'a' # must fill variable with something, otherwise loop won't execute

while not info.empty?
    info = gets.chomp
    people += [Person.new(info)] if not info.empty?
end
Run Code Online (Sandbox Code Playgroud)

这个代码在do ... while循环中看起来更好看:

people = []

do
    info = gets.chomp
    people += [Person.new(info)] if not info.empty?
while not info.empty?
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我不必将信息分配给一些随机字符串.

不幸的是,Ruby中似乎不存在这种类型的循环.任何人都可以建议一个更好的方法吗?

ruby loops

448
推荐指数
7
解决办法
25万
查看次数

何时使用RSpec let()?

我倾向于在块之前使用来设置实例变量.然后,我在我的示例中使用这些变量.我最近遇到了let().根据RSpec文档,它习惯了

...定义一个memoized帮助方法.该值将在同一示例中的多个调用之间缓存,但不跨示例缓存.

这与在块之前使用实例变量有什么不同?还有什么时候你应该使用let()vs before()

ruby rspec

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

如何卸载RVM?

可能重复:
如何从我的系统中删除rvm(ruby版本管理器)?

如何在Ubuntu 9.10上卸载(或重新安装)RVM?我弄乱了我目前的装置.

ruby ubuntu-9.10 rvm

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

类和模块之间的区别

我来自Java,现在我正在使用Ruby.

我不熟悉的一个语言功能是module.我想知道究竟是module什么,你什么时候使用一个,为什么要用module一个class

ruby module class

426
推荐指数
7
解决办法
14万
查看次数

当猴子修补方法时,你能从新实现调用重写方法吗?

假设我是猴子修补类中的方法,我怎么能从覆盖方法调用重写方法?就像有点像super

例如

class Foo
  def bar()
    "Hello"
  end
end 

class Foo
  def bar()
    super() + " World"
  end
end

>> Foo.new.bar == "Hello World"
Run Code Online (Sandbox Code Playgroud)

ruby monkeypatching

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