在控制器中获取erb模板的html代码

时间:2017-04-09 11:02:59

标签: ruby-on-rails ruby erb

我有home_controller,其中有[:index, :process_img]个动作。 我需要从操作:index获取:process_img操作的完整html源代码。需要在控制器中访问该代码。

class HomeController < ActionController::Base
  def index
  end

  def process_img
    index_html_code = "the html source of index action should be here"
  end
end

我怎样才能实现这一目标?提前谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用render_to_string(根据与渲染相同的规则渲染,但以字符串形式返回结果,而不是将其作为响应主体发送到浏览器):

render_to_string :index

答案 1 :(得分:0)

虽然我认为render_to_string是一种惯用选项,但这是一种可以在普通红宝石中运行的方法:

ERB.new(File.read "app/views/home/index.html.erb").result binding