ruby-on-rails - Rails 3 Beta 2、Haml、嵌套布局和 LocalJumpError

标签 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。堆栈跟踪是空白的并且非常无用。有任何想法吗?这些是已知问题吗?

最佳答案

给予:

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

一试。像http://m.onkey.org/2009/7/7/nested-layouts一样使用

关于ruby-on-rails - Rails 3 Beta 2、Haml、嵌套布局和 LocalJumpError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2623349/

相关文章:

ruby-on-rails - 无法使用 RMagick 打开上传的图像文件

.net - IronRuby 中可用的 Ruby 数据访问方法

ruby - 无法从 Cucumber 2.3.2 中的 scene.file 获取场景的文件名

syntax - 如何制作跨越多行的haml-coffee 封口?

jquery - 结合 Ruby on Rails、jQuery、AJAX 和 Embedly API

ruby-on-rails - 在 Ruby 中使用 HMAC SHA256

namespaces - 在 Rails 3.1 命名空间应用程序的 HAML View 中包含命名空间

scala - 在Play上使用HAML,Scaml或Jade

ruby-on-rails - 一对一 : Undefined method build

ruby-on-rails - 在 Ruby on Rails 中为子域定义默认路由