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 に答える