Tag: ruby

Rspec:testing实例variables的赋值

与工厂女孩一起使用Rspec。 尝试检查在我的控制器中分配了什么数据(并对其进行testing)。 我读过的每篇文章都说我应该能够从assigns()中获得一些东西,但是它一直在返回 调节器 def index @stickies = Sticky.where(:user_id => current_user.id) end 规格 it "should assign stickies" do foo = assigns(:stickies) puts "foo = #{foo}" end 产量 foo = 我使用错误的语法? 有一个更好的方法吗? 谢谢!!

部署之后发生ActiveModel :: MissingAttributeError,然后在一段时间后消失

我有一个Rails 3.0.9的应用程序,一旦部署,遭受了一堆的ActiveModel :: MissingAttributeErrors,出现造成500s。 错误发生的相当随机,有时一个页面将加载,其他时间不会,但属性是数据库中的所有现有属性,应该find。 奇怪的是,过了一段时间,错误消失了。 突然之间,他们停止引发一个问题。 我已经search了一个解决scheme,但是这个错误大多发生在有人完成Model.all(:select => 'column_x,column_y')并且正在调用column_z或者他们正在使用cache_money时。 我没有做这些事情。 谁能帮忙?

Ruby / Rails – 获取数组中的最后两个值

@numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] @numbers.last会给我8 我需要抓住最后两个logging。 到目前为止,我已经尝试过,但是它会抛出一个NoMethodError : @numbers.last – 1

错误:'rake / rdoctask'已经过时,不再支持。 改用“rdoc / task”(在RDoc 2.4.2+中可用)

似乎这个问题的最后一个post是由于某种原因closures,所以我会尽我的运气… 我试图运行一个简单的“rake db:migrate”命令。 当我这样做的时候,我得到了标题中的错误。 是的,解决scheme“显得”显而易见,但这不是因为我没有Rakefile不包含任何对“rake / rdoctask”的引用。 它似乎来自documentation.rake,但是当我尝试更改该错误所推荐的文件,我得到一个不同的错误。 我发现了几个post宣称这是一个已知的问题,但我没有发现指示如何解决或解决此问题。 有没有人有任何想法如何解决它? 下面是rake命令的输出–trace: $ rake –trace db:migrate rake aborted! ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead. C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rdoctask.rb:1:in `<top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks/documentation.rake:2:in `require' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks/documentation.rake:2:in `<top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:15:in `load' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:15:in `block in <top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:6:in `each' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:6:in `<top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:213:in `require' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:213:in […]

Rails – 查找2个字段?

我有一个控制器中的以下内容 def update @permission = Permission.find_by_user_id(params[:user_id]) 但是我希望它也可以通过另一个参数project_idfind 我如何在Rails中做这样的事情? @permission = Permission.find_by_user_id_and_project_id(params[:user_id],params[:user_id])

Ruby:合并嵌套散列

我想合并一个嵌套的散列。 a = {:book=> [{:title=>"Hamlet", :author=>"William Shakespeare" }]} b = {:book=> [{:title=>"Pride and Prejudice", :author=>"Jane Austen" }]} 我想合并是: {:book=> [{:title=>"Hamlet", :author=>"William Shakespeare"}, {:title=>"Pride and Prejudice", :author=>"Jane Austen"}]} 什么是嵌套的方式来完成这个?

如何findrake任务的源文件?

我知道你可以通过input查看所有可能的耙子任务 rake -T 但是我需要知道一个任务究竟是做什么的。 从输出中,我怎样才能find一个真正有这个任务的源文件? 例如,我试图finddb:schema:dump任务的源代码。

Vim用ruby语法突出显示缓慢

我一直在用ssh使用vim工作一两个星期,一切都很顺利。 今天我决定添加一些语法突出显示,自动完成和其他一些通用的插件。 设置vundle并去工作。 我目前的.vimrc可以在https://github.com/scottopell/dotfiles/blob/master/.vimrc 我将我的vimrc和vim文件克隆到我的本地ubuntu桌面上,vim完全按照预期运行,没有find任何文件的缓慢。 相同的插件和相同的vimrc和ruby文件没有缓慢。 更新 我可以用下面的.vimrc重现这个问题 syntax on 和一个空的~/.vim文件夹。 但是,vim在vps上使用ruby / haml文件很慢。 更多的ruby文件。 当我打开任何ruby文件,启动需要约2秒(定时 – 启动时间)。 与一个可比的长度哈姆文件,其约.5秒。 这种缓慢不仅仅是在启动时,移动和编辑文件都是痛苦的缓慢。 Haml / erb(他们基本上是一样的) 268.818 000.005: before starting main loop 848.871 580.053: first screen update ruby 199.613 000.004: before starting main loop 2937.859 2738.246: first screen update 没有语法高亮在上面的相同的ruby文件 149.047 000.004: before starting main loop 152.912 003.865: […]

如果Java的人去斯卡拉,C#去F#,Ruby的人去哪里function涅??

我知道很多Java开发人员已经开始关注Scala,因为它运行在JVM上,许多Microsoft世界的人都在关注F#,但是Ruby作为一个自然的function性inheritance者有什么用处? 在一个纯粹的FP意义上,Ruby并不缺less任何东西,反而有些人可能会说。 一个函数式语言迫使程序员不要使用全局variables和其他习语(尽pipe可以在函数式语言中使用全局variables)

如何解决“/ usr / bin / env:ruby_executable_hooks:没有这样的文件或目录”?

我只是在vps部署jekyll,并configurationgit post-receive hook。 当我从我的笔记本电脑推送博客更新到VPS,我遇到了这个错误: remote: /usr/bin/env: ruby_executable_hooks: No such file or directory 我search了一会儿,并尝试了这个post中提出的方法: bundle update:env:ruby_executable_hooks:没有这样的文件或目录 ,即执行下面的命令: rvm @global do gem regenerate_binstubs gem regenerate_binstubs 但是这并没有帮助,错误依然存在。 既然我不熟悉rvm或ruby,谁能给我一个提示?