Rails 3 Beta 2,Haml,嵌套布局和LocalJumpError

时间:2010-04-12 15:46:59

标签: ruby-on-rails ruby haml ruby-on-rails-3

好吧,我正在尝试使用嵌套模板创建应用。我正在使用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。堆栈跟踪是空白的,非常无益。有任何想法吗?这些已知的问题是什么?

2 个答案:

答案 0 :(得分: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

一样使用

答案 1 :(得分:1)

content_for块不应包含yield。它们不会自己传递一个块,这是您的错误消息来源。