小编Pet*_*xey的帖子

我失去了我的主分支,根据GIT,我的HEAD(尽管我可以告诉它).我该如何取回它们?

我不完全确定导致这种情况的步骤,但是我最终没有我的GIT主分支.

我在使用这里的说明解决问题时遇到了麻烦:http://sitaramc.github.com/concepts/detached-head.html但是我对GIT的一般无知可能让我陷入了比起初更糟糕的困境.

$ git branch
  first-cucumber-attempt
  notifications
* second-cucumber-attempt
  sendgrid-setup
Run Code Online (Sandbox Code Playgroud)

在某些时候,我显然开始研究一个独立的HEAD,现在我不知道如何找到我的主人(我觉得现在有点像Alice).

尝试结帐大师给出:

$ git checkout master
  error: pathspec 'master' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)

试图拉大师给出:

$ git pull origin master
From github.com:petenixey/kind-advice
 * branch            master     -> FETCH_HEAD
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)

分支"second_cucumber_attempt"包含我想要合并到master和master中的所有代码在github上仍然是安全的,但我无法达到它.我彻底陷入困境.

git

9
推荐指数
1
解决办法
3470
查看次数

在迁移中,如何在不指定:limit的情况下将列类型更改为文本?

我想将列类型更改:string:text

问题是,如果我只是这样做:

change_column :questions, :content, :text
Run Code Online (Sandbox Code Playgroud)

然后将架构重写为:

t.string   "content",     :limit => 255
Run Code Online (Sandbox Code Playgroud)

也就是说,当它是一个时,它需要隐含的长度 string

如何进行迁移并指定:limit不应设置为以下模式:

t.string   "content"
Run Code Online (Sandbox Code Playgroud)

我已经尝试设置10,000的任意限制,但a)感觉效率低下; b)它使向下迁移尝试将:text限制设置为10,000.

我可以将哪个选项传递给change_column方法以确保它只使用默认限制?

migration ruby-on-rails

8
推荐指数
1
解决办法
3987
查看次数

如何让Firebug同时显示脚本窗口和控制台

我希望能够在查看我正在调试的脚本的同时在控制台中执行代码,但我似乎只能得到一个或另一个.有没有办法同时看到两者?

在此输入图像描述

javascript firebug

8
推荐指数
1
解决办法
1523
查看次数

Heroku pgbackups:恢复重建数据库还是只重新填充它?

我正在尝试将Heroku上的生产数据库复制到我的登台服务器.

我的登台服务器已经超越了我的生产服务器,并且迁移创建了一个额外的表.我现在想干运行迁移以在生产数据库上添加该表,因此希望还原我的暂存数据库以便这样做.

问题是,每次我restore将临时数据库放到生产中时,表格都会粘在一起.我期待数据库被销毁和重新填充,但它似乎只是被重新填充.

heroku pgbackups:url b104 --app production
# 'http://s3.amazonaws.com/...'

heroku pgbackups:restore DATABASE 'http://s3.amazonaws.com/...' --app staging
Run Code Online (Sandbox Code Playgroud)

每次我这样做,我发现"更新"的表仍然存在.

是否pgbackups:restore真正恢复表结构或简单的数据-这是怎么回事呢?

ruby-on-rails heroku

8
推荐指数
1
解决办法
1415
查看次数

在Rails 4中为具有多个单词的控制器进行路由

我刚刚升级到Rails 4并发现了路由的意外行为.

我们有一个名为EmailPreviewController的控制器.这个路由是:

get "/emailpreview", controller: 'EmailPreview', action: :index
Run Code Online (Sandbox Code Playgroud)

但是在升级到Rails 4之后,在加载环境时会抛出以下错误:

'EmailPreview' is not a supported controller name. This can lead to potential routing problems. See http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use
Run Code Online (Sandbox Code Playgroud)

我查看它建议的页面但是没有任何迹象表明使用具有CamelCase名称的控制器是不正确的.

如果我将控制器更改为小写,则没有任何问题:

# this works fine
get "/emailpreview", controller: 'emailpreview', action: :index
Run Code Online (Sandbox Code Playgroud)

这是预期的行为吗?是不是现在可以使用camelcase控制器名称,还是有其他东西在这里?

routing ruby-on-rails-4

8
推荐指数
1
解决办法
4201
查看次数

有没有办法让Capybara在浏览器中进行测试?

我想调试一些我的测试,看看实际发生了什么.一个简单的方法就是看着他们在我面前演出.是否有可能强制Capybara使用实际的浏览器实例在您面前明显地运行测试?

rspec capybara

8
推荐指数
1
解决办法
2517
查看次数

你如何在Heroku上运行rspec和黄瓜?

我希望能够在Heroku的我的临时应用程序上运行rspec和黄瓜.我有一个单独的生产应用程序,我将我的开发分支推送到临时和我的主分支到生产.

我已将RACK_ENV变量设置为'staging',并且还添加了staging.rb配置文件.

在本地运行rspec和黄瓜:

rspec和黄瓜都可以使用命令在本地运行

$ rspec spec 
Run Code Online (Sandbox Code Playgroud)

..

$ cucumber features
Run Code Online (Sandbox Code Playgroud)

在Heroku登台应用程序上运行rspec

问题是我不能让他们在我的Heroku登台应用程序上运行.我知道在Heroku上使用rspec的正确方法是:

$ heroku rake spec --remote staging
Run Code Online (Sandbox Code Playgroud)

每当我运行此操作时,我会收到以下错误:

rake aborted!
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]
/app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.0.7/lib/active_record/railties/databases.rake:429:in `block (3 levels) in <top (required)>'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:634:in `call'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:634:in `block in execute'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:629:in `each'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:629:in `execute'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
/usr/ruby1.9.2/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:605:in `block in invoke_prerequisites'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:602:in `each'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:602:in `invoke_prerequisites'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:594:in …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails heroku cucumber

7
推荐指数
1
解决办法
2558
查看次数

你如何处理a:在父对象定义的cancan中创建权限?

假设您正在为Blogger编写软件.

每个用户只有在博客所有者的情况下才能创建博客文章.CanCan通常会在这种情况下定义能力检查:

user.can? :create, Post
Run Code Online (Sandbox Code Playgroud)

但是,如果用户是当前博客的所有者,则用户只能创建帖子,并且无法仅使用其类名引用当前博客.我真正需要做的是:

user.can? :create, Post, @current_blog
Run Code Online (Sandbox Code Playgroud)

我可以说,在康康的定义中

can :create, Post do |post, blog|
  user == blog.owner
end
Run Code Online (Sandbox Code Playgroud)

这是可能的还是我在接近这个方面感到困惑?

cancan

7
推荐指数
1
解决办法
1810
查看次数

JavaScript 中浮点数的最大精度(小数点后)是多少

我正在使用的算法需要从 JavaScript 中的浮点数中压缩尽可能多的精度。我不介意精度是否来自非常大的数字或小数点后有很多数字,我只是实际上需要尽可能多的数字。

(如果你关心为什么,它是一个拖放排名算法,在重新平衡之前必须处理大量的减半。我也知道有更好的基于字符串的算法,但数值方法适合我的目的)

MDN文档说

JavaScript Number 类型是双精度 64 位二进制格式 IEEE 754 值,类似于 Java 或 C# 中的 double。这意味着它可以表示小数值,但它可以存储的内容有一些限制。数字仅保留小数点后 17 位左右的精度;算术需要四舍五入。

我应该如何最好地使用“17 位小数精度”?

小数点后17位是不是意味着“包括小数点前后总共17个数字”

例如(添加下划线代表千位分隔符以提高可读性)

# 17 numerals: safe
111_222_333_444_555_66

# 17 numerals + decimal point: safe
111_222_333_444_555_6.6
1.11_222_333_444_555_66

# 18 numerals: unsafe
111_222_333_444_555_666

# 18 numerals + decimal point: unsafe
1.11_222_333_444_555_666
111_222_333_444_555_66.6
Run Code Online (Sandbox Code Playgroud)

我认为数字的精度决定了您可以使用的数字数量,并且这些数字中小数点的位置实际上是学术性的。

  • 我对问题的思考是否正确?
  • 小数点的存在对计算有影响还是仅仅与存在的数字数量有关
  • 我应该假设 17 数字是安全的/18 是不安全的吗?
  • 这是否因浏览器而异(不仅是现在,而且在 10 年的时间窗口内,人们是否应该假设浏览器的精度可能会提高)?

javascript floating-point precision ieee-754

7
推荐指数
1
解决办法
4495
查看次数

元内容在MVC中的位置在哪里?

我一直在考虑MVC中的元内容,特别是页面标题和元描述(这对于指导Google在搜索结果中显示的代码段非常有用).

我不能确定这应该在哪里生活.根据(对于UGC应用程序)读者与内容的交互方式,通常会有一些逻辑.

我无法确定是否在视图层或控制器中更好地构造了此元内容.它几乎肯定不会存在于模型中,因为它特定于数据的特定视图,但是当我的第一直觉是将它放在视图中时,我觉得它可能更好地被抽象化.

我对其他人采取的方法很感兴趣.

model-view-controller ruby-on-rails

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