【问题标题】:haml syntax errorhaml 语法错误
【发布时间】: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
  • 我不确定这个代码包是如何工作的,因为我从未使用过它,但 renderlink_toRuby on Rails 的一部分,它们是没有内置到 Haml 中。如果您尝试在 Rails 之外使用 Haml,则可能无法使用这些方法。无论您的 Haml 代码在哪个对象上下文中执行,都没有这些方法。
  • 谢谢,但问题是我下载了一个开源应用程序(rails 应用程序),它们使用了相同的语法。 Codekit 产生了同样的错误。在我的应用程序和开源应用程序中,两者都在生成语法错误!
  • 如果您在 Rails 3.1+ 应用程序的上下文中使用 Haml,则不必编译它。资产管道将为您编译它。

标签: ruby-on-rails haml


【解决方案1】:

你能去掉'='后面的空格吗?这样就可以解决了。

【讨论】:

  • 我通过不使用 CodeKit 解决了这个问题,感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 2013-10-08
  • 2012-04-20
  • 1970-01-01
相关资源
最近更新 更多