我有一个使用 Ruby 2.0 的 Rails 4 项目。我已经定义了一些改进。推杆
<% using MyRefinements %>
在视图文件的顶部会导致错误“未定义的方法'使用'”。
当我添加:
using MyRefinements
在我的控制器顶部(在类声明上方),我可以成功地使用控制器中的细化,但如果我尝试在视图中使用它,则会收到“未定义方法”错误。
谢谢!
我有一个使用 Ruby 2.0 的 Rails 4 项目。我已经定义了一些改进。推杆
<% using MyRefinements %>
在视图文件的顶部会导致错误“未定义的方法'使用'”。
当我添加:
using MyRefinements
在我的控制器顶部(在类声明上方),我可以成功地使用控制器中的细化,但如果我尝试在视图中使用它,则会收到“未定义方法”错误。
谢谢!
不幸的是,这似乎是不可能的。为了子孙后代,我正在记录我尝试过但不起作用的事情:
在视图中:
<% using MyRefinements %>
在控制器中(每个都单独尝试):
using MyRefinements
helper :MyRefinements
helper_method :MyRefinements
helper { using MyRefinements }
在助手中:
using MyRefinements
请注意,细化在控制器和帮助器中可用,但在视图中不可用。
太糟糕了。
通过使用“使用”,您可以将类改进从模块导入到当前类或模块定义中。您不能通过“使用”将其包含在视图文件中。如果你想在视图中使用它,你可以在你的控制器中执行以下操作(我没有测试过):
使用 MyRefinements
helper :MyRefinements 或 helper_method :MyRefinements