如何在Rails视图中使用Ruby优化?

时间:2014-03-17 19:27:00

标签: ruby-on-rails-4 ruby-2.0 refinements

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

<% using MyRefinements %>

位于视图文件的顶部会导致错误&#34;未定义的方法&#39;使用&#39;&#34;。

当我添加:

using MyRefinements

在我的控制器顶部(在类声明之上),我可以成功地在控制器中使用细化,但是我得到了一个未定义的方法&#39;如果我尝试在视图中使用它,则会出错。

谢谢!

2 个答案:

答案 0 :(得分:3)

不幸的是,这似乎不可能。对于后代,我正在记录我尝试过的不起作用的事情:

在视图中:

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

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

using MyRefinements

在帮手中:

<setHeader headerName="YOUR_HEADER">
     <simple>bean:payloadAndHeaderExtractor?extractHeader(MyCostomMessagePojo obj)</simple>
</setHeader>

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

太糟糕了。

答案 1 :(得分:0)

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

使用MyRefinements

helper:MyRefinements OR helper_method:MyRefinements