草庐IT

some_constant

全部标签

ruby-on-rails - Rails 中的多线程 : Circular dependency detected while autoloading constant

我有一个Rails应用程序,其中有一个Rake任务,该任务使用并发rubygem提供的多线程函数。有时我会遇到Circulardependencydetectedwhileautoloadingconstant错误。在谷歌搜索了一下后,我发现这与结合使用线程和加载Rails常量有关。我偶然发现了以下GitHub问题:https://github.com/ruby-concurrency/concurrent-ruby/issues/585和https://github.com/rails/rails/issues/26847如此处所述,您需要将从新线程调用的所有代码包装在Rails.a

ruby - 无法在 Ruby : uninitialized constant (NameError) 中将一个类包含到另一个类中

假设我有三个类,每个类都在自己的文件中定义。例如ClassA.rb中的ClassA等...classClassAdefinitializeenddefprintClassAputs"ThisisclassA"endendclassClassBdefinitializeenddefprintClassBputs"ThisisclassB"endendclassClassCdefinitializeenddefbothClassesa=ClassA.newb=ClassB.newa.printClassAb.printClassBendend如您所见,ClassC需要其他两个类才能正常运行

ruby-on-rails - ruby rails : Converting "SomeWordHere" to "some word here"

我知道你可以这样做:"SomeWordHere".underscore.gsub("_","")得到“这里的一些话”。我认为对于如此简单的事情来说可能有点太多了。是否有更有效的方法(也许是内置方法?)将“SomeWordHere”转换为“此处的某个词”? 最佳答案 方法underscore和humanize是为表、类/包名称等之间的转换而设计的,您最好使用自己的代码进行替换以避免惊喜。查看评论。"SomeWordHere".underscore=>"some_word_here""SomeWordHere".underscore.h

ruby-on-rails - 使用 Rails 中的命名空间类防止 "warning: toplevel constant B referenced by A::B"

在自定义目录(例如:app/presenters/)中存储文件时,如何确保加载命名空间类?例如,如果您有:app/models/mega_menu.rbapp/presenters/catalog_presenter.rbapp/presenters/mega_menu/catalog_presenter.rbRails无法加载MegaMenu::CatalogPresenter:CatalogPresenter.new=>#MegaMenu::CatalogPresenter.new(irb):3:warning:toplevelconstantCatalogPresenterref

ruby-on-rails - 为什么我使用 Rails 和 grape 得到 "Unable to autoload constant"?

我想为Android应用做一个API。搜索时,我找到了{grape}.我正在关注thistutorial,但我在启动Rails服务器时遇到问题:=>BootingWEBrick=>Rails4.0.2applicationstartingindevelopmentonhttp://0.0.0.0:80=>Run`railsserver-h`formorestartupoptions=>Ctrl-CtoshutdownserverExitingC:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-4.0.2/

ruby-on-rails - 无方法错误 : undefined method `safe_constantize'

我有一个简单的模型:classPost它有一个名为type的INT列当我创建记录时:Post.create(:type=>1)我得到:NoMethodError:undefinedmethod`safe_constantize'for1:Fixnum我做错了什么? 最佳答案 就像这样:在Fixnum上没有名为safe_constantize的方法。type用于SingleTableInheritance.您通常会在应用程序中将已知模型的字符串表示形式作为type值。参见railsguides

ruby gem : Uninitialized constant FactoryBot

使用Rubygem并尝试在RSpec中使用FactoryBot。我在support/factory_bot.rb中有这个:RSpec.configuredo|config|config.includeFactoryBot::Syntax::Methodsconfig.before(:suite)doFactoryBot.find_definitionsendend在spec_helper.rb中:require'support/factory_bot'当我尝试运行specrake任务时,出现此错误:support/factory_bot.rb:2:in`blockin':uniniti

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-on-rails - 名称错误 : uninitialized constant Faker

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