草庐IT

Typemock_software_development_too

全部标签

ruby - 使用 Ruby + Webrick + Sinatra, 'development?' 方法从何而来?

在使用ruby​​+webrick+sinatra时,“开发模式”的概念从何而来?require'sinatra'require'sinatra/reloader'get'/test'dodevelopment?.to_send当我通过'rubytest.rb-p3000'http://localhost:3000/test运行上面的应用程序时返回“真”......但为什么它返回真?开发模式是ruby​​、webrick、rack还是sinatra概念?此外,此功能是否以非Rails特定方式在任何地方特别记录?我发现很多人都提到了开发模式的概念,但我对找到相关信息的难度感到惊讶....

ruby-on-rails - 别名_方法 : stack level too deep

我正在尝试装饰来自另一个Rails引擎的Controller。我有一种Controller方法,我只想再用一行进行扩展。我不想复制整个原始Controller方法。这是我尝试过的:Backend::BaseContentsController.class_evaldodefbooking_update#dosomestuffupdateendalias_method:update,:booking_updateend不幸的是,这会引发异常stackleveltoodeep。通常通过继承我可以调用super。在我的情况下,理想的做法是什么? 最佳答案

ruby-on-rails - 我如何从 environment.rb 或初始化程序中强制 RAILS_ENV=development ?

我们的主机不允许我们修改passenger配置文件(即apache配置或vhosts文件),但我们想在开发模式下运行rails。因此,我们必须在rails在应用程序重新启动时加载的文件之一中指定环境(prod/dev/test)。有人知道怎么做吗?我们尝试了以下但没有成功:#environment.rb(beforeanyothercodeisexecuted)`RAILS_ENV=development`#usingbackticksENV['RAILS_ENV']='development'#assigningtoaconstantRAILS_ENV='development'#a

ruby-on-rails - rails : Stack level too deep error

我的Rails应用程序有3个模型。轨迹、区域和特征。我可以在我的lib/tasks目录中与这些模型进行良好的交互。我使用Anemone来抓取和填充数据库。我对模型进行的调用示例:Trail.find_or_initialize_by_title(detail_title)我现在正在尝试编写一个使用该模型的Controller。classTrailControllerTrail.allendend现在,如果我打开Rails控制台并尝试app.get('trail/index'),我会得到一个500返回码,并且我会在我的development.log中看到以下内容>SystemStackE

ruby -/usr/bin/env : ln: Too many levels of symbolic links

这个问题让我很难受,我觉得我已经尝试了一切。首先,问题在升级到Capistrano3时开始出现。Capistrano现在在部署时在每个命令之前使用/usr/bin/env,以确保环境设置正确。当Capistrano创建指向必要的共享目录和相应文件的符号链接(symboliclink)时,它会尝试如下命令:/usr/bin/envln-s/full/path/different/full/path...然后它出错了:/usr/bin/env:ln:Toomanylevelsofsymboliclinks我意识到这不是Capistrano的错,所以我开始通过ssh连接到我的服务器并尝试相同

ruby - "Stack level too deep"在 Ruby 中带有 Ackermann 函数

我正在使用Rubyv1.9.1为我在大学的类(class)编写一个带有Ackermann函数的程序。代码如下:defackermann(n,m)ifn==0&&m>0returnm+1elsifn>0&&m==0returnackermann(n-1,1)elsifn>0&&m>00returnackermann(n-1,ackermann(n,m-1))elseputs"Wronginput,mandnmustbehigherthan0"endendputsackermann(5,5)这是一个高度递归的函数。所以我得到错误“堆栈级别太深(SystemStackError)”。有什么方

ruby-on-rails - rails : Testing Cron Jobs in development environment

我有一个名为“报告”的自定义环境,它被设置为访问从属数据库。我正在尝试使用Whenever配置一些cron作业gem并希望在部署之前在开发中测试它们。有什么方法可以在开发中测试cron作业吗?无论如何我可以在本地安排它们然后启动我的报告服务器并查看它们是否运行?谢谢! 最佳答案 我将从回顾gem本身(每当gem)如何进行测试开始。这是theirfunctionaltest之一的摘录:context"weekdayata(single)giventime"dosetupdo@output=Whenever.cron\'5:02am'd

ruby-on-rails - Assets :Precompile too verbose

我是JRuby和Rails的新手。当我预编译我的Assets时,它会用我不感兴趣的垃圾填满我的日志。(在/srv/test/releases/cba9797f510b211ff3568c9bb800ee7a7366c319)mkdir-p/srv/test/releases/cba9797f510b211ff3568c9bb800ee7a7366c319/public/assetsmkdir-p/srv/test/releases/cba9797f510b211ff3568c9bb800ee7a7366c319/public/assets/Controllermkdir-p/srv/t

ruby - 递归例程中的 "stack level too deep"错误是否有解决方法?

对于Ruby中递归函数中的StackOverflow错误,是否有任何解决方法?比如说,我有这个block:defcountUpTo(current,final)putscurrentreturnnilifcurrent==finalcountUpTo(current+1,final)end如果我调用countUpTo(1,10000),我会得到一个错误:stackleveltoodeep(SystemStackError)。它似乎在8187处中断。有没有我可以调用的函数告诉Ruby忽略堆栈的大小,或者增加最大堆栈大小的方法? 最佳答案

ruby-on-rails - Hirb - "Too many fields.."仅当从 irbrc 加载时(不直接在控制台中)

我正在尝试在我的控制台中设置Hirb。当我输入时:require'hirb'Hirb.enable我的(相当大的)表格打印良好(列名缩短)。但是,我想在加载railsc时自动加载这个(和其他gem),所以我编辑了我的.irbcifRails.envrequire'rubygems'require'hirb'Hirb.enablerequire'wirble'Wirble.initWirble.colorizerequire'awesome_print'end当从控制台(Account.all)运行相同的命令时,我收到错误:Toomanyfieldsforthecurrentwidth.