eval_template.rb
来自「ruby on rails web敏捷开发之路第二版 源代码」· RB 代码 · 共 36 行
RB
36 行
#---# Excerpted from "Agile Web Development with Rails, 2nd Ed."# We make no guarantees that this code is fit for any purpose. # Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.#---class EvalTemplate def initialize(view) @view = view end def render(template, assigns) # create an anonymous object and get its binding env = Object.new bind = env.send(:binding) # Add in the instance variables from the view @view.assigns.each do |key, value| env.instance_variable_set("@#{key}", value) end # and local variables if we're a partial assigns.each do |key, value| eval("#{key} = #{value}", bind) end @view.controller.headers["Content-Type"] ||= 'text/plain' # evaluate each line and show the original alongside # its value template.split(/\n/).map do |line| line + " => " + eval(line, bind).to_s end.join("\n") endend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?