草庐IT

length-constant

全部标签

ruby-on-rails - 如何修复 Rake 任务中的 "uninitialized constant"

我在做的时候遇到了问题:namespace:xaarondotask:get_rolesdoroles=Xaaron::Role.allputsrolesendtask:get_role,[:name]do|t,args|role=Xaaron::Role.find(args[:name].parameterize)putsroleendend第一个任务可以正常工作。我什至可以添加binding.pry并运行Xaaron::Role并获取有关Roles的信息。但是第二个任务失败了:NameError:uninitializedconstantXaaron::Role我在我的主应用程序中

ruby-on-rails - 名称错误 : uninitialized constant Factory

我正在关注thistutorial为了与工厂女孩、rspec一起开始使用TDDonrails,我遇到了这个问题,我无法理解。这是我的“工厂”.rb(events.rb)require'faker'FactoryGirl.definedofactory:eventdoname"HIGH"genre"house,techno,idb"venue_name"WestbourneStudios"venue_address"4-6ChamberlayneRoad"venue_postcode"NW103JD"begin_time"10pm"end_time"2am"user_id2descrip

ruby - `size` 和 `length` 方法有什么区别

当我对字符串运行size和length时,它们返回了相同的值。"akash".size#=>5"akash".length#=>5这两种方法有什么区别? 最佳答案 总结在Ruby中,方法可以被重写,因此有些类中有多个方法导致相同的结果,因此可以轻松地在一个方法中重写行为而不影响另一个方法。一些类使用单独的方法执行此操作,而其他类将此行为实现为别名。哪个是哪个以及为什么,通常是一个语言实现决策,如果不询问实现代码的RubyCore团队成员,就无法得到规范的回答。因此,这部分问题超出了StackOverflow的范围。假设别名方法不会像

ruby-on-rails - 名称错误 : uninitialized constant Faker

我正在尝试在Rails4中为我的数据库运行一个简单的bundleexecrakedb:seed。但是,在运行它时,我得到以下输出:********-C02MGBVJFD57:myapp***********$bundleexecrakedb:seedYourGemfileliststhegemfactory_girl_rails(>=0)morethanonce.Youshouldprobablykeeponlyoneofthem.Whileit'snotaproblemnow,itcouldcauseerrorsifyouchangetheversionofjustoneofthem

ruby - 为什么 array.slice 对 (length, n) 的行为不同

如果我有一个数组a:a[a.length]返回nil。好。a[a.length,x]返回[]。好。a[a.length+x,y]返回nil。与2不一致。虽然此行为是documented,看起来很奇怪。谁能解释一下这种设计背后的原因? 最佳答案 考虑一下a=[0,1,2,3]#=>[0,1,2,3]a[0,10]#=>[0,1,2,3]a[1,10]#=>[1,2,3]a[2,10]#=>[2,3]a[3,10]#=>[3]a[4,10]#=>[]a[5,10]#=>nil所以a[4,10]是3之间的切片和数组的末尾[]哪里a[4]和

ruby-on-rails - Rails 3.0 & Ruby 1.9.2rc : Rake commands return 'already initialized constant' & stack level too deep errors. 任何想法

我正在尝试在Ubuntu10.04上运行Rails3beta4和Ruby1.9.2rc。它最初有效,但在完成我的第一个bundleinstall/package之后,我现在在所有Rails项目中都遇到以下错误。即使是基本的“railsnewtestproject”后跟一个rake也会显示错误消息。简而言之,我很难过。非常感谢任何有关可能导致此问题的帮助。我唯一注意到的事情——可能相关也可能不相关——是~/.bundle文件中的目录是ruby​​/1.9.1。我的机器上没有安装1.9.1-只有1.9.2rc。ruby-v带回1.9.2(in/home/john/Websites/sand

ruby - rake "already initialized constant WFKV_"警告

尝试运行rakecucumber:ok并收到此错误:/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rack-1.3.4/lib/rack/backports/uri/common_192。rb:53:警告:常量WFKV_已经初始化然后:命令失败,状态为(1):[/Users/dev/.rbenv/versions/1.9.2-p290/bin...]我是Rails的新手,Google没有针对此错误提供任何信息。编辑:我试过添加bundleexec,但没有任何区别。这是我用--trace得到的结果:/User

ruby-on-rails - 警告 : toplevel constant referenced

我有四个模型(Document、Question、Question::Document和Answer)。在我的Answer模型中有validates:text,presence:{:unless=>Proc.new{|a|a.question.is_a?Question::Document}}这给了我警告警告:Question::Document引用的顶层常量文档如何防止出现此警告(不重命名我的类)? 最佳答案 您的文件夹/文件结构应如下所示:app/models/question/document.rbanswer.rbdocum

ruby-on-rails - 包含模块时出现 "Uninitialized constant"错误

我正在尝试引用关联扩展,但它出错了:NameError(uninitializedconstantUser::ListerExtension):app/models/user.rb:2:in`'这是我的实现:app/models/user.rbclassUsertrue,:extend=>Listerlib/lister.rbmoduleListerExtensiondeflisterself.map(&:to_s).join(',')endend我正在使用Railsv3.1.3。 最佳答案 AndrewMarshall对自动加载设

ruby - 烦人的 "warning: already initialized constant"消息的解决方案

今天我偶然发现了一个与Ruby常量有关的棘手问题。在我们的团队中,有人创建了一个模块,该模块包含在多个模型中。在我们的(规范)测试中,此结果输出到警告消息中,例如:/home/ayrton/project/lib/life_cycle.rb:5:warning:alreadyinitializedconstantRESET解决这个问题的一种方法是,像这样声明常量:moduleLifeCycleunless(const_defined?(:RESET))RESET='reset'end#...end我还阅读了AvdiGrimm撰写的博客文章,其中提供了替代方案solution,我想知道您