草庐IT

ruby-on-rails - 如何检查是否存在值不为 "undefined local variable or method"的变量?

这是一个常见的模式:如果变量不存在,我会得到一个未定义的局部变量或方法错误。现有代码有ifvariable_name.present?但这并没有说明变量不存在。我如何检查变量的值并说明它根本不存在?我试过:if(defined?mmm)thenifmmm.present?thenputs"true"endend但Ruby仍然检查内部mmm.present?并在它不存在时抛出“nosuchvariable”。我确信对此有一个共同的模式/解决方案。 最佳答案 将present?更改为!=''并使用&&运算符,它仅在第一个表达式为真时才尝

ruby-on-rails - 安装 rails 插件时出现警告

我在我的Rails应用程序中安装任何插件时收到以下警告。/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/agnostics.rb:7:warning:Insecureworldwritabledir/usr/local/bininPATH,mode040777谁能告诉我如何解决这个问题?谢谢 最佳答案 Ruby(在所有Unix上,包括Cygwin)会在您尝试运行外部程序并且您的$PATH包含一个全局可

ruby - 尝试从 FTP 下载文件导致 "500 Illegal PORT command"错误

如果我在本地执行,一切正常:require'net/ftp'ftp=Net::FTP.new("myftpserver.com","username","password")ftp.getbinaryfile("/myfile.zip","localfile.zip")ftp.close如果我尝试在我使用的Linux服务器上执行它,结果是:/usr/local/lib/ruby/1.9.1/net/ftp.rb:273:in`getresp':500IllegalPORTcommand.(Net::FTPPermError)from/usr/local/lib/ruby/1.9.1/n

ruby - Rails4 sprockets ; Assets 逻辑路径没有扩展名

我最近升级到Rails4,在运行我的请求规范时,我开始收到以下错误:Failure/Error:UnabletofindmatchinglinefrombacktraceSprockets::ArgumentError:Assetlogicalpathhasnoextension:europeBlockquote#/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/asset.rb:36:ininitialize'#/usr/local/rvm/gems/ruby-1.9.3-p448/gems

ruby-on-rails - ActiveAdmin 评论模型无法正常工作

我通过关注GettingStartedwithRails创建了一个博客恰恰。然后我按照这里的教程尝试ActiveAdmin:http://activeadmin.info/documentation.html.它适用于Post和Tag模型(我登录并创建/添加/编辑内容)但不适用于Comment模型。railsgenerateactive_admin:resourceCommentcreateapp/admin/comments.rb然后当我尝试启动服务器时,我得到了这个:railsserver=>BootingWEBrick=>Rails3.0.7applicationstarting

ruby - zsh : command not found: bundle (after gem install bundle)

为什么zsh:commandnotfound:bundle在geminstallbundler之后?我尝试设置path=(/usr/local/lib/ruby/gems/2.2/gems/~/bin/bin/sbin/usr/bin/usr/sbin/usr/local/bin/usr/local/sbin)在/etc/zshrc和source/etc/zshrc中无济于事。root@dev:/home/dev#geminstallbundlerSuccessfullyinstalledbundler-1.7.12Parsingdocumentationforbundler-1.7.

ruby-on-rails - 进行 HTTP 调用时,Ruby 中的频繁 SystemExit

我有一个RubyonRails网站,可以对外部Web服务进行HTTP调用。我大约每天收到一次SystemExit(下面的堆栈跟踪)错误电子邮件,其中调用服务失败。如果稍后我在我的网站上尝试完全相同的查询,它就可以正常工作。自该网站上线以来,这种情况一直在发生,我一直没能找到导致它的原因。Ruby是1.8.6版,rails是1.2.6版。还有人遇到这个问题吗?这是错误和堆栈跟踪。ASystemExitoccurred/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/fcgi_handler.rb:116:inexit'/usr/local

ruby - Pry Error : Cannot find local context. 您是否使用了 `binding.pry`?

为什么我会收到此pry动错误?[36]pry(main)>s="pry"Error:Cannotfindlocalcontext.Didyouuse`binding.pry`?在此截屏视频中运行良好http://pryrepl.org/ 最佳答案 似乎s、c和n是pry-navgem上的保留命令,发现here,这可以帮助您逐步完成绑定(bind)。Pry.commands.alias_command'c','continue'Pry.commands.alias_command's','step'Pry.commands.alias

ruby - 如何从/usr/local 卸载 Ruby?

一切正常,直到我们决定将ruby​​从1.8.6升级到1.8.7,然后一切都崩溃了。当我们从源代码编译Ruby1.8.7时,它被安装到/usr/local/bin中,而Ruby1.8.6留在/usr/bin中。目前,我们已经卸载了ruby​​1.8.6,并且我们从/usr/local删除了ruby​​1.8.7文件。当我们尝试“whichruby​​”时,它指向/usr/local。如果有人可以帮助我们回到正轨,我们将不胜感激。并且知道如何从/usr/local中卸载ruby​​。我们尝试了yumremoveruby​​,它从/usr/bin中删除了ruby​​。谢谢,干杯!

ruby-on-rails - gem 安装 nokogiri -v '1.6.8.1' 失败

构建新的Rails应用程序并遇到nokogiri问题。据说尝试geminstallnokogiri-v'1.6.8.1'失败,输出如下。我尝试删除Gemfile.lock并使用另一个没有问题的应用程序中的Gemfile—bundleinstall仍然失败。最初的失败是bundleinstall,它继续在其他应用程序中运行。从控制台:geminstallnokogiri-v'1.6.8.1'Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingnokogiri:ERROR:Failedtobuildgemn