1

わかりました。ネストされたテンプレートを使用してアプリを作成しようとしています。Rails 3 Beta 2 と Haml を使用しています。私はいろいろ調べて、最も明確なアプローチを取ることに決め、テンプレートを次のように構成しました。

# application.html.haml
!!!
%body
  %h1 Outermost Template
  = yield(:foobar)

# inner.html.haml
- content_for :foobar do
  %h2 Inner Template
  = yield

= render :file => 'layouts/application'

# foo_controller.rb
layout 'inner'

このすべてでLocalJumpError、メッセージが表示されますno block given。スタック トレースは空白で、ほとんど役に立ちません。何か案は?これらは既知の問題ですか?

4

2 に答える 2

4

与える:

def inside_layout layout = 'application', &block
  render :inline => capture_haml(&block), :layout => "layouts/#{layout}"
end

試してみてください。http://m.onkey.org/2009/7/7/nested-layoutsのように使用します

于 2010-06-02T23:41:17.887 に答える
1

content_forブロックにを含めることはできませんyield。エラーメッセージの送信元であるブロック自体は渡されません。

于 2010-04-12T17:05:25.440 に答える