0

我已经验证它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
4

1 回答 1

1

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

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

我从来没有真正尝试过这个,但我认为它会工作......

于 2013-01-18T23:27:10.637 回答