草庐IT

piecewise_constant_distribution

全部标签

ruby-on-rails - Rails has_many :through Uninitialized constant

我正在寻找有关调试Railshas_many:through关联问题的帮助。我有3个模型,Package、Venue和我的连接表Packagevenuepackage.rbclassPackage地点.rbclassVenuepackagevenue.rbclassPackagevenuepackagevenues表的架构create_table"packagevenues",force::cascadedo|t|t.integer"package_id"t.integer"venue_id"t.datetime"created_at",null:falset.datetime"upd

ruby-on-rails - Rails 使用 constantize 获取模块

我在模块的命名空间下有一个类,比如说Module::Klass我能够从控制台访问Klass,它给了我:Module::Klass但是,如果我尝试使用:"klass".constantize#CallingconstantizeonString它会出错,因为它没有附加模块命名空间。所以,我的问题是:有没有一种方法可以根据其当前上下文将字符串常量化,以便我收到类名称及其模块? 最佳答案 如果“当前上下文”是指您当前在该模块中,则可以直接访问其常量。moduleFooclassBarendself.const_get('Bar')#=>F

ruby - "uninitialized constant OpenSSL::PKey::EC"来自 CentOS 6.6 上的 Ruby

我有一个使用openid_connectgem的Rails服务器应用程序。当我尝试在CentOS6.6上运行它时,我得到:uninitializedconstantOpenSSL::PKey::EC这是完整的堆栈跟踪:$railsserver/home/foo/.rvm/gems/ruby-2.1.3/gems/json-jwt-1.5.1/lib/json/jwk/jwkizable.rb:69:in`':uninitializedconstantOpenSSL::PKey::EC(NameError)from/home/foo/.rvm/gems/ruby-2.1.3/gems/j

ruby - rhc 安装程序返回 "warning: constant::TimeoutError is deprecated"

环境Ubuntu16.04xenialLinux内核:4.4.0-22-genericruby--versionruby2.3.0p0(2015-12-25)[x86_64-linux-gnu]复制步骤sudoapt-getinstallruby-fullrhcsetup返回:/var/lib/gems/2.3.0/gems/commander-4.2.1/lib/commander/user_interaction.rb:328:warning:constant::TimeoutErrorisdeprecated上传default公钥后,显示:Checkingforgit...fou

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

我在Rails中进行单元测试......这是我的代码位于test\unit\sample_test.rbrequire'test_helper'require'test/unit'require'sample'classSampleTest我的app\models\sample.rb包含以下内容..,classSampledefassert_student(student)#assert_equal"123",student.external_reference"#{student_id}"endend当我运行“raketest:units”时,它显示了以下错误test_student

ruby rubocop : how to freeze an array constant generated with splat

我正在分配一个这样的数组常量:NUMS=*(2..9)Rubocop说C:卡住分配给常量的可变对象。NUMS=*(2..9)^^^^^所以我试试NUMS=*(2..9).freezeRubocop说C:卡住分配给常量的可变对象。NUMS=*(2..9).freeze^^^^^^^^^^^^尝试过NUMS=(*(2..9)).freezeRubocop说E:意外的标记tRPAREN(使用Ruby2.0解析器;在AllCops下使用TargetRubyVersion参数进行配置)NUMS=(*(2..9)).freeze^尝试过NUMS=[1,2,3,4,5,6,7,8,9].freeze

sql - rails : NameError: uninitialized constant on join table

我似乎无法解决名称约定问题,或者我是否错误地加入了它们。这是我从用户模型中得到的错误:>user.companiesNameError:uninitializedconstantUser::CompaniesUser从公司模型来看:>company.usersNameError:uninitializedconstantCompany::CompaniesUser用户.rbhas_many:companies_usershas_many:companies,:through=>:companies_users公司.rbhas_many:companies_usershas_many:u

ruby-on-rails - Rails 4 - 命名空间内的首字母缩写词 Controller 给出 'Uninitialized Constant' 错误

我正在尝试在Rails4中创建这个Controller:Admin::EDMsController在我的initializers/inflections.rb文件中,我定义了首字母缩略词:ActiveSupport::Inflector.inflections(:en)do|inflect|inflect.acronym'EDMs'inflect.acronym'EDM'end我的routes.rb文件有:namespace:admindo#...someotherresources...resources:edmsend而我的Controller在app/controllers/ad

ruby - 如何判断一个Constant是否定义在模块命名空间内,而不是全局命名空间?

我有两个同名的Const;一个是全局常量,另一个定义在命名空间Admin下。但是我需要区分它们;全局的已经定义了,范围的如果还没有定义则需要自动定义:A='AGlobalConst'moduleAdminA='AConstwithintheAdminnamespace'ifconst_defined?'A'#alwaystrueandtheAdmin::Acanneverbedefined!endputsA#=>'AGlobalConst'putsAdmin::A#=>NameError:uninitializedconstantAdmin::A#theAdmin::Awillneve

ruby-on-rails - 使用 Rails constantize inflector 调用命名空间类

我有一个需要初始化的类,但它的命名空间如下:SomeThing::MyClass.new()但我在rake任务中从args调用它,所以它以字符串形式出现:task:blah,[:my_class_name]=>:environmentdo|t,args|class_name=args[:my_class_name].camelize.constantizeputsclass_nameend很明显,如果我这样调用rake任务:rakeblah[my_class]我的任务返回:MyClass#但是我怎样才能让它从链接在另一个方法之前的命名空间中运行,就像这样:SomeThing::MyCl