从控制器#action获取视图路径

时间:2012-02-13 23:25:44

标签: ruby-on-rails views haml

我需要编译(通过HAML)并获取视图文件的内容。现在我在控制器的一个动作中做这个:

path     = File.join(views_path, 'recommend/email_texts/video_uploaded.html.haml'))
contents = File.open(path) { |f| f.read }
message  = Haml::Engine.new(file).render(self)

# file is being rendered in a context of self because it includes some action
# specific vars, as well as calls to params method of controller

然后我需要将消息发送到SOAP端点并将“操作成功”页面呈现给浏览器。 只是说

所以问题是 - 是否有一种合适的方法可以替换上面的3行?如果在这里没有太多的重构 - 是否有任何好的做法来完成我正在进行的任务?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

认为这应该是等同的:

message = view_renderer.render self,
            :template => 'recommend/email_texts/video_uploaded'

相关文档: