如何从String中查找和使用helper方法

时间:2015-02-08 04:57:13

标签: ruby-on-rails

我想知道如何找到并使用帮助器方法,当我以字符串格式获得帮助程序的名称时。

我正在编写引擎,在初始化文件中,用户可以指定current_user_helper:

MyEngine.current_user_helper = "current_user"

我想在控制器中做一些事情。例如,下面的代码尝试为登录用户创建一个帖子。

MyEngine.current_user_helper.posts.new(post_params)

然而,此代码不起作用,因为MyEngine.current_user_helper是一个字符串。显然,当我尝试时,Rails会抛出错误:

MyEngine.current_user_helper = current_user

没有引号。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用send从字符串或符号调用方法。 send可用于Object的所有后代。

send(MyEngine.current_user_helper).posts.new