草庐IT

i_can_haz_parse

全部标签

ruby-on-rails - 为什么我会收到此 'can' t modify frozen hash' 错误?

我有一个Person模型和一个Item模型。一个人有很多元素,一个元素属于一个人。在此代码中,我需要删除一个人的现有项目,并根据参数(这是一个哈希数组)创建新项目。然后,我需要根据项目的其他字段之一更新项目的字段之一。@person=Person.find(params["id"])@person.person_items.eachdo|q|q.destroyendperson_items_from_param=ActiveSupport::JSON.decode(params["person_items"])person_items_from_param.eachdo|pi|@per

ruby-on-rails - 尝试加载 gem 时出错 'devise. ActiveSupport: Duration can' t 被强制转换为整数

我已经尝试修复这个错误一段时间了,但没有找到任何帮助,请帮忙。我正在尝试使用devisegem在我的ROR应用程序上运行迁移。但是我从ActiveSupport收到错误消息“无法将持续时间强制转换为整数”。这发生了,然后我尝试运行:rakedb:migrate我不确定它是否与迁移代码有关,或者是否与新设计版本有关。这是错误消息:/home/sam/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.1.1/lib/active_support/values/time_zone.rb:285:warning:cir

ruby-on-rails - rails : RuntimeError - can't modify frozen Array when running rspec in rails

我最近从v4.3升级到Rails5.1,现在在运行测试时遇到这个错误:Anerroroccurredwhileloading./spec/controllers/admin/capacity_charges_controller_spec.rb.Failure/Error:requireFile.expand_path('../../config/environment',__FILE__)RuntimeError:can'tmodifyfrozenArray我为每个测试文件都得到了它。触发错误的行来自rails_helper。我已经检查了Rails5.1示例repo协议(protoc

ruby-on-rails - 是否有绕过 'can' t 在迭代期间将新 key 添加到哈希中的解决方案 (RuntimeError)'?

我对预期的RuntimeError有一个大问题:“无法在迭代期间将新key添加到哈希中”在我的例子中,我有一个YAML文件:test.yaml-我已经在其中添加了一些key。test.yamlkey1:key2:key3:我在变量中获取文件的内容:file_hash=YAML.load_file("testm.yaml")然后我需要遍历这个散列并向它们添加其他键:file_hash.eachdo|key|file_hash[key]='key_1'file_hash[key]='key_2'endFile.open('test.yaml','w'){|f|YAML.dump(file_

ruby - `dirname' : can't convert nil into String (TypeError)

我不确定这是否真的在cucumber中,但以防万一你们中的一些人知道如何解决这个问题。基本上,我的测试突然停止工作,当我检查时,它显示了这个错误:C:/Vendor/Ruby187/lib/ruby/gems/1.8/gems/cucumber-rails-1.0.0/lib/cucumber/rails3.rb:3in'dirname':can'tconvertnilintoString(TypeError)是的,我先翻了个白眼,然后诅咒Windows,但我在我的Mac上试了一下,我得到了同样的结果:/Users/eumir/.rvm/gems/ruby-1.8.7-p174@myg

ruby-on-rails - 警告 : Can't mass-assign protected attributes

当发帖到/:username/about时,我收到“警告:无法批量分配protected属性:about”。classAbout["lower(username)=?",params[:username].downcase])iftrue@about=@user.aboutif@about.update_attributes(params[:about])flash[:notice]="Successfullyupdatedpost."respond_with(@about,:location=>about_path(@about.user.username))elseredirect

ruby - ' +' can' t 将 Fixnum 转换为字符串 (TypeError)

我遇到了“无法将Fixnum转换为字符串(TypeError)”错误,虽然它看起来很简单,但我不确定如何解决它。我认为我的逻辑是合理的——将输入的字符串变量转换为整数,然后执行基本操作——但显然我遗漏了一些关键信息。puts'Whatisyourfavouritenumber?'favenum=gets.chompbetter=favenum.to_i+1puts'Yeah'+favenum+'isniceenoughbut'+better+'isbiggerandbetterbyfar!Thinkon.'我曾尝试寻找答案,但相同错误的示例远远超出了我目前基本的ruby​​技能。

ruby - 你如何让 DateTime.parse 返回你所在时区的时间?

我需要这个require'date'DateTime.parse"Mon,Dec276:30pm"返回EDT时区下午6:30的DateTime,但返回UTC时间。如何获取EST日期时间或将UTC日期时间转换为具有下午6:30值的EDT日期时间? 最佳答案 好的,我要回答我自己的问题require'time'ENV["TZ"]="US/Eastern"Time.parse("Mon,Dec276:30pm").to_datetime=># 关于ruby-你如何让DateTime.parse

ruby-on-rails - ruby rails : Can I do a "link_to" to call a create action?

如何从link_to正确调用创建操作?我正在使用REST(map资源:食谱)。这是创建操作:defcreaterecipe=Recipe.create(:name=>"Frenchfries")redirect_torecipeend例如,我认为这样的事情可能会奏效::post%>我不确定这是否是推荐的(甚至是正确的)方法。有什么想法吗? 最佳答案 如果您将recipe_path替换为recipe_path,那应该可以工作。如果您查看rakeroutes的输出,您应该会看到如下内容:recipesGET/recipes(.:form

ruby - 使 Date#parse 采用美国格式而不是欧盟格式

在1.9.2p0中,Date#parse采用UE格式。如果您不相信我,请查看format.rb,第1042行。无论如何,我怎样才能让它采用美国格式,以便:>Date.parse("10/4/2010")=>Mon,04Oct2010而不是4月10日。我已经试过了:classDatedef_parse_eu(str,e)_parse_us(str,e)endend但运气不好。还有其他想法吗? 最佳答案 Date.strptime是你想要的但不幸的是它看起来不像文档有日期格式字符串。我得到以下基于格式字符串的谷歌搜索的工作:1.9.2>