10

我有一个使用 Ruby 2.0 的 Rails 4 项目。我已经定义了一些改进。推杆

<% using MyRefinements %>

在视图文件的顶部会导致错误“未定义的方法'使用'”。

当我添加:

using MyRefinements

在我的控制器顶部(在类声明上方),我可以成功地使用控制器中的细化,但如果我尝试在视图中使用它,则会收到“未定义方法”错误。

谢谢!

4

2 回答 2

3

不幸的是,这似乎是不可能的。为了子孙后代,我正在记录我尝试过但不起作用的事情:

在视图中:

<% using MyRefinements %>

在控制器中(每个都单独尝试):

using MyRefinements
helper :MyRefinements
helper_method :MyRefinements
helper { using MyRefinements }

在助手中:

using MyRefinements

请注意,细化在控制器和帮助器中可用,但在视图中不可用。

太糟糕了。

于 2016-05-05T22:04:26.347 回答
0

通过使用“使用”,您可以将类改进从模块导入到当前类或模块定义中。您不能通过“使用”将其包含在视图文件中。如果你想在视图中使用它,你可以在你的控制器中执行以下操作(我没有测试过):

使用 MyRefinements

helper :MyRefinements 或 helper_method :MyRefinements

于 2014-12-05T17:26:32.433 回答