小编Jak*_*old的帖子

如何在当前类的上下文中运行IRB.start

我一直在使用Ruby进行PragProg 连续测试,在那里他们讨论IRB在当前类的上下文中调用以手动检查代码.

但是,他们引用如果你IRB.start在一个类中调用,self是预定义的,并引用我们在调用start时所在的对象,这在我的情况下是不正确的.

即使是非常简单的例子

a = "hello"
require 'irb'
ARGV.clear # otherwise all script parameters get passed to IRB
IRB.start
Run Code Online (Sandbox Code Playgroud)

当我尝试访问a变量时,我明白了

NameError: undefined local variable or method `a' for main:Object
Run Code Online (Sandbox Code Playgroud)

它仅在我更改a为全局变量时有效

$a = "hello"
require 'irb'
ARGV.clear # otherwise all script parameters get passed to IRB
IRB.start
Run Code Online (Sandbox Code Playgroud)

然后我可以访问它

irb(main):001:0> $a
=> 1
Run Code Online (Sandbox Code Playgroud)

有没有办法解决当前类中的本地和实例变量?

ruby irb

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

DB触发器的命名约定

DB触发器是否有任何命名约定?

例如,"在删除用户之前"将是"bdUsers"或类似的东西.

database triggers

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

如何让Rails 3资产更快地预编译?

我有一个正在运行的Rails 3.2.1应用程序,我正在通过Capistrano部署deploy/assets它来运行deploy:assets:precompile任务.

一切都很好,除了编译本身很慢.我没有那么多CSS和JavaScript(总共大约8200行).

编译资产通常需要大约1-3分钟,大约占整个部署时间的90%.

有没有办法优化这个?也许使用不同的程序来编译资产或以某种方式优化它?

我正在Linode 512上运行应用程序1.9.2-p290,Rails 3.2.1并使用therubyracergem如果有任何相关性.

ruby deployment ruby-on-rails asset-pipeline ruby-on-rails-3.2

25
推荐指数
2
解决办法
4322
查看次数

如何转换为属性?

有可能以某种方式使用ngTransclude属性值,而不是替换内部HTML内容?例如这个简单的指令

var testapp = angular.module('testapp', [])

testapp.directive('tag', function() {
  return {
    template: '<h1><a href="{{transcludeHere}}" ng-transclude></a></h1>',
    restrict: 'E',
    transclude: true
  }
});
Run Code Online (Sandbox Code Playgroud)

并用它作为

<tag>foo</tag>
Run Code Online (Sandbox Code Playgroud)

我想把它翻译成

<h1><a href="foo">foo</a></h1>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,还是我必须使用属性而不是转录?

这是一个例子

angularjs

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

IE6 PNG透明度

如何在IE6中修复背景图像中的PNG透明度错误?

internet-explorer png transparency internet-explorer-6

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

使用Firebug调试JavaScript事件

我需要为某个事件设置一个断点,但我不知道,它在哪里定义,因为我有一大堆最小化的JavaScript代码,所以我无法手动找到它.

是否有可能以某种方式设置断点,例如具有ID的元素的click事件registerButton,或者找到哪个函数绑定到该事件?

我找到了Firefox附加的Javascript Deobfuscator,它显示了当前执行的JavaScript,这很好,但我需要调试的代码是使用jQuery,所以即使在最简单的事件上也有大量的函数调用,所以我不能使用它无论是.

是否有专门为jQuery制作的调试器?

有没有人知道一些工具可以将缩小的JavaScript重新转换为格式化的代码,例如function(){alert("aaa");v=3;}转回

function() {
   alert("aaa");
   v = 3;
}
Run Code Online (Sandbox Code Playgroud)

javascript debugging jquery firebug

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

如何删除Git历史中给定日期之前的所有提交?

给定存储库,我想删除特定提交之前的所有提交或历史记录中的日期.

我的存储库中有大约10000个提交,我想只保留最后1000个左右,并删除其余的.基本上我想要做的就是移动第一前进承诺X.

起初我以为我可以将所有这些提交重新绑定并压缩成一个,但这会在rebase期间导致很多合并冲突.如果有一种方法来压缩提交,使得壁球之后的版本是最后一次提交,那也是有用的.

git

22
推荐指数
2
解决办法
7937
查看次数

Windows 7 x64中Rails的MySQL驱动程序

我在新安装的Windows 7机器上连接MySQL数据库时遇到问题.我尝试迁移数据库时遇到此错误.

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install 
the mysql gem and try again: gem install mysql.
rake aborted!
193: %1 is not valid Win32 application - C:/Ruby/lib/ruby/gems/1.8/gems/mysql-2.8.1-x86-mswin32/lib/1.8/mysql_api.so
Run Code Online (Sandbox Code Playgroud)

我目前已安装

ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
mysql version 5.0.86  for Win64
gem 1.3.1
mysql-2.8.1-x86-mswin32
Run Code Online (Sandbox Code Playgroud)

mysql ruby-on-rails windows-7

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

SQLite中的临时内存数据库

是否有可能以某种方式在SQLite中创建内存数据库,然后通过某些查询销毁它?

我需要这样做才能对我的数据库层进行单元测试.到目前为止,我只是通过创建正常的SQLite db文件并在所有测试后删除,但在内存中完成所有操作会好得多.

那么是否可以仅在内存中实例化数据库而无需向光盘写入任何内容?我不能只使用事务,因为我想创建全新的数据库.

sqlite jdbc

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

用于PHP应用程序的黄瓜

可以在Rails之外使用Cucumber吗?我想开始使用它来测试我的一些PHP应用程序,但我真的不知道如何开始.

可能最简单的方法是创建一个仅运行Cucumber功能的Rails项目,但这似乎对我来说太过分了.

设置Cucumber以测试非Rails应用程序的最简单方法是什么?

php bdd ruby-on-rails cucumber

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