【问题标题】:How to simplify "render_to_string" in Rails 3?如何简化 Rails 3 中的“render_to_string”?
【发布时间】:2011-09-18 15:37:38
【问题描述】:

要在 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 所做的那样)(我尝试过,但出现错误......)

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 render render-to-string


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      有时你可以做一些类似的事情

       render_to_body "path_to_file"
      

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 好像很不靠谱。
        【解决方案4】:

        您可以随时将自己的方法添加到ApplicationController,如果您需要在视图中使用它,可以将其作为辅助方法使用。

        【讨论】:

          猜你喜欢
          • 2017-03-22
          • 2011-12-03
          • 2011-08-27
          • 2022-06-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-28
          • 2016-09-03
          相关资源
          最近更新 更多