我已经设置了几个控制器.现在我想开始为它们编写规范测试.是否有自动生成spec文件的命令?我知道rails会为新资源执行此操作,但我不知道它是否也适用于现有的控制器/模型.
假设我安装了两个版本的gem(somegem版本0.10.6和0.10.5),我想从命令行运行早期版本.我是否必须卸载较新版本?有没有办法可以使用标志来指定我想使用哪个版本?就像是...
somegem /path/to/dir --version 0.10.5
Run Code Online (Sandbox Code Playgroud)
我检查了rubygems文档,它只描述了当你需要文件中的gem时如何使用特定版本,但是没有关于如何从命令行执行它.
我正在使用Devise on Rails,我想知道是否有一个钩子或过滤器可用于向Devise的用户注册过程添加一些代码,并在创建帐户后向用户发送欢迎电子邮件.如果没有设计,那将是这样的......
respond_to do |format|
if @user.save
Notifier.welcome_email(@user).deliver # <=======
...
Run Code Online (Sandbox Code Playgroud) 我正在寻找构建iPhone应用程序,但我没有足够的时间来学习Objective-C.我已经了解Ruby并发现了MacRuby.是否可以单独使用MacRuby构建iPhone应用程序,而不了解Objective-C?
我最近切换到MongoDB,我想知道我是否可以继续使用任何流行的管理界面解决方案,如ActiveScaffold和Typus?
我想知道是否有一个Ruby方法调用只显示它调用的Ruby对象定义的方法,而不是它的祖先类定义的所有方法,这methods似乎是做的.
我是Python的新手,并尝试在Ruby中经常做一些事情.即,迭代一组索引,使用它们作为函数的参数并将其结果与夹具输出数组进行比较.
所以我像往常一样在Ruby中编写它,但这导致只有一个测试用例.
def test_output(self):
for i in range(1,11):
....
self.assertEqual(fn(i),output[i])
Run Code Online (Sandbox Code Playgroud)
我正在尝试为该范围内的每个项目进行测试.我怎样才能做到这一点?
我是新的Rspec,刚开始在Rails 3上生成一个新的控制器.它默认生成一些Rspec测试.我有一个关于如何使它们通过的问题.就目前而言,我在终端上看到了这个测试"
1)BuildingsController GET'show'应该是成功的
Run Code Online (Sandbox Code Playgroud)Failure/Error: get 'show' No route matches {:controller=>"buildings", :action=>"show"} # ./spec/controllers/buildings_controller_spec.rb:17:in `block (3 levels) in <top (required)>'
但是,我不明白为什么它会出现,因为我已经创建了这条路线("资源:建筑物"),我跑了rake routes并确保它在那里.
建设GET /buildings /:id(.:format){:action =>"show",:controller =>"buildings"}
这通过什么是必要的?以下是测试:
describe "GET 'show'" do
it "should be successful" do
get 'show'
response.should be_success
end
end
Run Code Online (Sandbox Code Playgroud) 我经常遇到这种情况.我正在研究一个主分支,我需要测试一个插件,所以我创建一个新分支并检查它.我将插件下载到项目目录中并进行测试.然后我切换回主分支并删除我创建的分支.
最终发生的事情是插件的文件保留在项目目录中.我想知道这是否是正常行为.为了在分支之间进行无缝切换,我该怎么办?
我正在写一个帮助器,需要调用另一个生成html的帮助器.我怎么做?