草庐IT

key-value-coding

全部标签

ruby-on-rails - ENV 变量中的 Capistrano 和 API key ?

我正在使用Capistrano部署我的Rails应用程序。我想在服务器上保存一些APIkey作为环境变量。我使用Capistrano部署的Rails应用程序应该可以访问这些APIkey。作为守护进程运行的单独的ruby​​文件也应该可以访问这些APIkey。在环境变量中设置APIkey似乎是理想的解决方案,但是,我无法在我的Rails应用程序中使用ENV["SOME_KEY"]访问它们。根据thispost,因为capistrano以非交互和非登录方式运行,~/.bashrc和~/.bash_profile未加载。流程图建议我应该使用$BASH_ENV。我可以只在$BASH_ENV中添

ruby-on-rails - 事件管理员 :select drop-down defaults to current value in development but defaults to blank in production

我有以下ActiveAdmin表单:formdo|f|f.inputs"TimesheetDetails"dof.input:jobs_assigned_worker,:label=>"Worker",as::select,collection:Worker.allf.input:worked_time_hours,:label=>"WorkedTime(Hours)"f.input:worked_time_mins,:label=>"WorkedTime(Minutes)"f.input:driving_time_hours,:label=>"DrivingTime(Hours)"f

ruby-on-rails - rails : violates foreign key constraint

我有三个模型:Book、genre、BookGenre,下面是关系:classBookGenre然后我使用seed文件将数据放入这些表中。但是当我想再次执行rakedb:seed时,它显示了这个错误ActiveRecord::InvalidForeignKey:PG::ForeignKeyViolation:ERROR:updateordeleteontable"books"violatesforeignkeyconstraint"fk_rails_4a117802d7"ontable"book_genres"DETAIL:Key(id)=(10)isstillreferencedfr

ruby - RSpec 2.7 和散列应该有_key

我试图弄清楚为什么我写的一个非常简单的“这个散列有这个key”规范失败了。进入我的RubyREPL我正在尝试以下...[3]pry(main)>a_hash={:a=>"A"}=>{:a=>"A"}[4]pry(main)>a_hash.shouldhave_key:aNoMethodError:undefinedmethod`have_key'formain:Objectfrom(pry):4:in`'[5]pry(main)>a_hash.keys.length.should==1=>true[8]pry(main)>a_hash.has_key?:a=>true第一个测试显然是我

ruby-on-rails - rails 4 : Forcing specific values with "strong parameters"

我正在努力使用用于创建“项目”的表单。最后,我只想允许当前的user_id,但我还没有构建用户模型或身份验证,因此作为占位符,我只是硬编码1。app/views/projects/new.html.erb:{:action=>'create'})do|f|%>1})%>app/controllers/projects_controller.rbdefcreate#saveobjectifProject.create(project_params)redirect_to(:action=>'show')elserender('new')endendprivatedefproject_pa

ruby-on-rails - rails/ ruby : TimeWithZone comparison inexplicably failing for equivalent values

我在当前项目中比较DateTime时遇到了一段糟糕的时光(没有双关语意),特别是比较ActiveSupport::TimeWithZone的两个实例。问题是我的两个TimeWithZone实例具有相同的值,但所有比较都表明它们不同。执行调试时暂停(使用RubyMine),可以看到如下信息:timestamp={ActiveSupport::TimeWithZone}2014-08-0110:33:36UTCstarted_at={ActiveSupport::TimeWithZone}2014-08-0110:33:36UTCtimestamp.inspect="Fri,01Aug20

ruby - Hash#keys 方法的错误输出

在某些情况下Hash#keys在2.4之前的Ruby中不能正常工作演示代码:h={a:1,b:2,c:3}h.eachdo|k,v|h.delete(:a)phph.keysbreakendRuby2.3.8输出:{:b=>2,:c=>3}[:b]Ruby2.5.1输出:{:b=>2,:c=>3}[:b,:c]我同意在迭代时修改散列是不好的。但是我没有看到修改hash和workkeys方法之间的关系。为什么会这样? 最佳答案 有趣的问题。这还不是答案,但对于评论来说太长了,它可以帮助其他人回答问题。哪些ruby受到影响?我创建了一个

ruby-on-rails - 尝试将本地数据库推送到 Heroku 后出现 "ActionView::Template::Error (Unknown primary key for table"

对于我通过Heroku托管的Ruby-on-Rails应用程序,我最近下载了一个备份,在本地恢复它,然后从外部来源将数据添加到数据库中。一切正常。在使用herokupg:pushHEROKU_DATABASE_URL--app将更新后的数据库推送到Heroku之后该应用程序运行良好,我可以看到新添加的数据。但是今天当我尝试在Heroku上登录该应用程序时,我收到了错误消息。在我的日志文件中,我看到了这个错误:ActionView::Template::Error(Unknownprimarykeyfortable...根据这篇SO帖子:Getting"Unknownprimarykey

ruby + cucumber : How to execute cucumber in code?

我想从Ruby代码中执行Cucumber功能。通常,与gem一起安装的cucumber二进制文件在命令行上执行,并指定一个或多个功能。但是,我想定义创建动态功能执行流程的逻辑。换句话说,程序可以计算出应该执行哪些功能。是否可以从Ruby代码而不是命令行使用指定的功能文件实例化Cucumber? 最佳答案 我从邮件列表和一些API阅读中发现了方法。features="path/to/first.featurepath/to/second.feature"runtime=Cucumber::Runtime.newruntime.load

ruby - 如何在 Visual Studio Code 上调试 Ruby 代码?

我是VSCode的新手,但是,我在网站上阅读时确实下载了所需的扩展。到目前为止,我无法在VSCode上调试Ruby,我不确定问题出在哪里。它只是不启动...我认为它不会将代码视为Ruby。每当我尝试运行代码时,我都会在调试窗口中看到“正在下载C#扩展...”。这当然很奇怪。有帮助吗? 最佳答案 只要您按照正确的步骤操作,这实际上相当容易。首先,你必须下载RubyExtension它可以在vscode市场上获得,也可以通过VScode本身的扩展选项卡获得:只需搜索Ruby,安装它,然后重新加载VSCode[更新:vscode可以完美地