12

要在 Rails 3 中渲染部分内容,我会:

render 'my_partial', :my_object => my_value

为了获得部分结果作为字符串,我这样做:

render_to_string(:partial => 'my_partial', :layout => false, 
                 :locals => {:my_object => my_value})

这可以把最后一个写得更短吗?(例如省略:partial:locals像我一样render)(我试过了,但得到错误......)

4

4 回答 4

9

看起来它不能再短了,参考。如果你觉得它太长了,你可以把它隐藏在一个辅助方法中,然后传递各种参数?

于 2011-06-20T12:45:33.677 回答
2

有时你可以做类似的事情

 render_to_body "path_to_file"

它会跳过布局,但您仍然必须在部分中使用实例变量。

于 2012-05-30T11:58:53.280 回答
0

You can always add your own method to ApplicationController and make it available as a helper method if you need to use it in views.

于 2013-11-05T19:00:59.850 回答
-1

我会为此使用Mailer。然后做。

MyMailer.my_method.body.encoded。您也可以通过这种方式使用助手。

于 2012-09-12T01:24:54.560 回答