Sinatra内联模板未被调用

时间:2013-01-18 17:57:30

标签: ruby sinatra

我已验证Merchant.find_all正确返回包含许多元素的枚举数。但是,当我运行以下代码时,我得到一个空白页面。为什么内联模板没有重复调用并多次输出“hello”?

require 'sinatra'
require 'sinatra/reloader'
require 'sequel'
require_relative 'config/init'
require_relative 'merchant'

get '/' do
  Merchant.find_all.each do |m|
    erb :layout
  end
  ""
end

__END__

@@ layout
hello

1 个答案:

答案 0 :(得分:1)

您正在从路径块返回一个空字符串。返回erb结果。如果您确实想要多次渲染该视图,请将每个erb的结果保存到字符串缓冲区中并返回。

get '/' do
  result = ''
  Merchant.find_all.each do |m|
    result += erb(:layout)
  end
  result
end

我从来没有尝试过这个,但我认为它会起作用......