【发布时间】:2012-03-25 12:04:47
【问题描述】:
编译以下代码后出现此错误
Exception on line 2: undefined method `render' for #<Object:0x10de902b0>
Use --trace for backtrace.
Use --trace for backtrace.
代码
%h1 New place
= render 'form'
= link_to 'Back', places_path
我该如何解决这个问题,即使再举一个例子,我总是会得到这个
%p#notice= notice
%p
%b Title:
= @place.title
这是个例外!
Exception on line 1: undefined local variable or method `notice' for #<Object:0x108629270>
Use --trace for backtrace.
Use --trace for backtrace.
更新: 事实证明,Codekit 在 Rails 嵌入式代码方面存在一些问题。所以我决定暂时停止使用它。
【问题讨论】:
-
你是如何编译你的haml的?
-
我正在使用 codekit 应用程序incident57.com/codekit
-
我不确定这个代码包是如何工作的,因为我从未使用过它,但
render和link_to是 Ruby on Rails 的一部分,它们是没有内置到 Haml 中。如果您尝试在 Rails 之外使用 Haml,则可能无法使用这些方法。无论您的 Haml 代码在哪个对象上下文中执行,都没有这些方法。 -
谢谢,但问题是我下载了一个开源应用程序(rails 应用程序),它们使用了相同的语法。 Codekit 产生了同样的错误。在我的应用程序和开源应用程序中,两者都在生成语法错误!
-
如果您在 Rails 3.1+ 应用程序的上下文中使用 Haml,则不必编译它。资产管道将为您编译它。
标签: ruby-on-rails haml