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)