草庐IT

const-method

全部标签

ruby-on-rails - 在 Rails 3.2 中使用 "error_messages"? (引发 "undefined method"错误)

我在Rails3.2功能测试中遇到以下错误:ActionView::Template::Error:undefinedmethod`error_messages'for#产生错误的View代码:#problematiccode这是我的Controller中调用上述View代码的代码:render:action=>"edit",:status=>:bad_request这是我正在运行的测试:test"updateaprogramwithabadrequest"doput:update,:id=>programs(:traditional).to_param,:program=>{:min

ruby - 是什么阻止了静态类型语言拥有像 Ruby 的 method_missing 这样的东西?

我在静态类型语言方面经验不多(目前正在学习Scala并且很喜欢它!)但我注意到的一件事是它们似乎从来没有像Ruby的method_missing或ColdFusion的onMissingMethod这样的东西。静态类型语言是否有一些固有的限制来阻止或使这变得困难? 最佳答案 当然可以添加处理它们的机制,但这与静态类型不一致:编译时确定您的程序没有类型错误。附录Scala2.9引入了一个实验性选项,可以通过静态类型检查失败的方式动态处理对类型的访问。它在2.10中得到改进并成为非实验性的,尽管它仍然由默认禁用功能标志控制。您可以在SI

ruby - 在类声明后设置类继承或在 const_set 类上设置类继承

如果之前已经定义了一个类,我如何告诉它从父类继承例如:classParent..endclassKlass..end现在我希望它继承自Parent我无法重新打开类并设置它,因为我会收到类不匹配错误classKlass具体来说,我试图找出如何在我通过Object.const_set创建的类上设置类继承klass=Object.const_set('Klass',Class.new)如何让Klass继承自Parent类? 最佳答案 无法更改已存在类的父类(superclass)。要指定您正在动态创建的类的父类(superclass),您

ruby-on-rails - 不支持从 define_method() 定义的方法隐式传递 super 参数

在“AgileWebDevelopmentwithRails”(第三版)第537-541页中,“CustomFormBuilders”代码如下:classTaggedBuilder#Description##defself.create_tagged_field(method_name)define_method(method_name)do|label,*args|@template.content_tag("p",@template.content_tag("label",label.to_s.humanize,:for=>"#{@object_name}_#{label}")+"

ruby - __callee__ 和 __method__ 之间的区别

在Ruby中,可以使用任何一种__callee__或__method__找到当前正在执行的方法的名称。两者有什么区别? 最佳答案 __method__静态查找名称,它指的是最近的词法封闭方法定义的名称。__callee__动态查找名称,它指的是调用方法的名称。两者都不一定需要对应于最初发送的消息:class[:bar,:bar]foo.baz#=>[:bar,:baz]foo.qux#=>[:bar,:method_missing] 关于ruby-__callee__和__method_

ruby - 定义 "method_called".. 如何制作一个钩子(Hook)方法,每次调用类的任何函数时都会调用该方法?

我想制作一个钩子(Hook)方法,每次调用一个类的任何函数时都会调用它。我试过method_added,但是它只在类定义的时候执行一次,classBasedefself.method_added(name)p"#{name.to_s.capitalize}Method'sbeencalled!!"enddefap"acalled."enddefbp"bcalled."endendt1=Base.newt1.at1.bt1.at1.bOutput:"AMethod'sbeencalled!!""BMethod'sbeencalled!!""acalled.""bcalled.""acal

ruby - 在 ruby​​ 中,self.method 和类 << self 中的方法有什么区别

classFoodefself.one;1endclass["two","one"]有人告诉我上述方法“一”和“二”在概念上是不同的,但我不明白是怎么回事。它们都是单例方法-在概念和应用上有什么区别? 最佳答案 在应用上,没有区别。在概念上,区别是微妙的,但在第一种情况下,您是在当前上下文中操作,并在另一个类实例上定义一个方法(实际上是其Eigenclass中的实例方法),而在第二种情况下,您正在进入其他类实例的元类(“Eigenclass”)的上下文,然后定义一个实例方法。编辑:我应该补充说选择class的原因在某些情况下是...

ruby - 这是 Method#to_proc 中的错误吗? ( ruby 1.8.7)

给定以下采用一个参数的方法:deffoo(arg);parg;end我可以用一个空数组来调用它:foo([])#prints[]我也可以将它保存为一个Method对象并用一个空数组调用that,结果相同:method(:foo).call([])#prints[]但是,如果我将Method对象转换为Proc并使用空数组调用that,我会得到一个ArgumentError:method(:foo).to_proc.call([])#ArgumentError:wrongnumberofarguments(0for1)#from(irb):4:in`foo'#from(irb):4:in`

ruby-on-rails - Rails - 测试 fixture 错误 NoMethodError : undefined method `type' for nil:NilClass

我在运行使用具有模型之间关联的固定装置的测试时遇到问题。这是我一运行raketest就得到的错误:ERROR["test_truth",SevenPortfolioTest,0.005154775]test_truth#SevenPortfolioTest(0.01s)NoMethodError:NoMethodError:undefinedmethod`type'fornil:NilClassERROR["test_should_destroy_item_video",SevenPortfolio::ItemVideosControllerTest,0.008887804]test_

ruby - alias_method 和 class_methods 不混合?

我一直在尝试修补全局缓存模块,但我不明白为什么它不起作用。有人有什么建议吗?这是错误:NameError:undefinedmethod`get'formodule`Cache'from(irb):21:in`alias_method'...由此代码生成:moduleCachedefself.getputs"original"endendmoduleCachedefself.get_modifiedputs"Newget"endenddefpeek_a_booCache.module_evaldo#make:get_not_modifiedalias_method:get_not_mo