访问ApplicationController.new.render_to_string中的辅助方法

时间:2018-01-18 09:25:20

标签: ruby-on-rails ruby ruby-on-rails-5

我有一个Rails 5应用程序。在我的FooController内,我通过以下方式生成一些HTML内容:

ApplicationController.new.render_to_string("some_haml_file", locals: {foo: "bar"}, layout: false)

some_haml_file.html.haml内部我需要执行一些复杂的逻辑,因此利用辅助方法或与其对应的东西会有很大帮助。要包含的.rb某种文件。

有可能吗?我怀疑这个问题可能已在this SO post中得到解答,但老实说我不理解。

1 个答案:

答案 0 :(得分:0)

您的应用中有一个helpers文件夹。在那里创建一个名为*anything*Helper的新模块,例如FooHelper。在这种情况下,文件名应为foo_helper.rb

文件的内容将是

module FooHelper
   def useful_function
   end
end

然后您可以在HAML中使用useful_function