出于某种莫名其妙的原因,RubyMine会自动保存您所做的每一个更改,因此每次按键都会触发Guard来运行您的测试!而最荒谬的是,显然没有办法禁用这个自动保存"功能".我只是想知道,RubyMine似乎是Rails开发人员中非常受欢迎的编辑器,而Guard似乎是用于自动化测试的不可或缺的工具.由于Guard无法与RubyMine合理使用,人们如何处理使用RubyMine自动化测试?
我在Ubuntu 12.04 Virtualbox上运行RubyMine,我可以从命令行运行rails服务器.但是,RubyMine中的所有运行/调试选项都已完全禁用.我甚至无法创建新的运行配置.
这可能是因为在Virtualbox上运行它吗?
我已经安装了guard-rspec gem用于我的rails应用程序.当我从命令行启动后bundle exec guard,它第一次运行我的整个测试套件没有问题.
但是,每当我对我的Guardfile中指定的spec文件或任何监视文件进行任何更改时,Guard似乎都无法识别这些更改,也不会重新运行任何测试.
我甚至尝试在我的Guardfile中放置一些显式内容,如下所示:
watch("app/views/orders/new.html.erb") { "spec/requests/orders_spec.rb" }
Run Code Online (Sandbox Code Playgroud)
orders_spec.rb当我编辑并保存new.html.erb正确时应该触发我的测试?好吧,当我编辑它并点击保存时,没有任何反应,甚至没有错误或警告.
有没有人有幸在Windows上运行Guard或遇到类似的问题?
我正在尝试使用activerecord-import gem,我已经按照维基上的指示来开球了,但我得到了一个NoMethodError: undefined method 'import' for #<Class:0x8b009b0>.这是我的代码(基本上与wiki中的示例相同)
class ExampleCode
def self.testing
orders = []
10.times do |i|
orders << Order.new(:raw_data => "order #{i}")
end
Order.import orders
end
end
Run Code Online (Sandbox Code Playgroud)
我这样称呼方法:
ExampleCode.testing
Run Code Online (Sandbox Code Playgroud)
我试过windows,linux,带有sqlite数据库,一个mysql数据库,但仍然没有运气.而且我确定我安装了宝石:
actionmailer (3.2.6, 3.2.3, 3.2.1, 3.2.0)
actionpack (3.2.6, 3.2.3, 3.2.1, 3.2.0)
activemodel (3.2.6, 3.2.3, 3.2.1, 3.2.0)
activerecord (3.2.6, 3.2.3, 3.2.1, 3.2.0)
activerecord-import (0.2.10)
activerecord-oracle_enhanced-adapter (1.4.1)
activerecord-sqlserver-adapter (3.2.1)....
Run Code Online (Sandbox Code Playgroud)
我甚至尝试使用require(安装宝石时不应该这样做.我没有看到它出现在任何其他地方所以我担心我必须错过一些非常明显的东西
我最近开始在rails应用程序部署中使用capistrano.它对我来说很好,然后突然间,我开始得到这个错误
sorry, you must have a tty to run sudo
Run Code Online (Sandbox Code Playgroud)
在尝试安装的每个宝石之后.我知道这个问题通常可以通过:use_sudo, false在deploy.rb文件中放入set来解决,但我已经在那里.最奇怪的是,我将我的整个目录还原回到我确定capistrano工作的时候,它仍然给我同样的错误.
我的服务器正在运行CentOS
那么问题可能是由什么造成的呢?有任何想法吗?
我是rails的新手,我正在尝试使用where方法从我的数据表中检索记录.但是,使用它似乎不会返回任何结果.
employee = Employee.where("first_name = ?", "bill") #doesn't work
employee = Employee.where(:first_name => "bill") #doesn't work
employee = Employee.find_by_first_name("bill") #works
Run Code Online (Sandbox Code Playgroud)
我正在通过打印测试结果employee.first_name,就像我说前两个不返回任何东西而第三个返回"bill".这里发生了什么?
activerecord ×2
guard ×2
rspec ×2
rubymine ×2
capistrano ×1
centos ×1
rspec-rails ×1
ruby ×1
tdd ×1
ubuntu ×1
virtualbox ×1