Rails 将方法发送到命名空间模块
Rails send method to namespaced module
我正在尝试调用命名空间模块内的方法。这就是我想要做的,但是我收到 "undefined method" 错误。在没有发送方法的情况下调用模块方法工作正常。
variable = send "Namespace::#{type.capitalize}Helper.#{type}_method".to_sym, params
感谢您的帮助。
(Rails 4.1, ruby 2.1.1)
variable = "Namespace::#{type.capitalize}Helper".constantize.
send( "#{type}_method".to_sym, params )
(分成两行,由于尾随 .
,应该仍然有效。)
send
采用方法名称,而不是整个 Classname.method
代码。您现在正在做:
Namespace::SomeHelper.send( "sometype_method".to_sym, params)
我正在尝试调用命名空间模块内的方法。这就是我想要做的,但是我收到 "undefined method" 错误。在没有发送方法的情况下调用模块方法工作正常。
variable = send "Namespace::#{type.capitalize}Helper.#{type}_method".to_sym, params
感谢您的帮助。
(Rails 4.1, ruby 2.1.1)
variable = "Namespace::#{type.capitalize}Helper".constantize.
send( "#{type}_method".to_sym, params )
(分成两行,由于尾随 .
,应该仍然有效。)
send
采用方法名称,而不是整个 Classname.method
代码。您现在正在做:
Namespace::SomeHelper.send( "sometype_method".to_sym, params)