我试图在我的一个Haml视图中的一个If/Else语句中放入一些(非渲染的)注释,但它似乎导致了问题.
我想要以下代码:
- # Stuff like ______ activates the if statement
- if @condition
(Some code)
- # Stuff like _____ activates the else statement
- else
(Some other code)
Run Code Online (Sandbox Code Playgroud)
不幸的是,Rails抛出了这个错误:
Got "else" with no preceding "if"
Run Code Online (Sandbox Code Playgroud)
如果我删除'else'评论,即
- # Stuff like ______ activates the if statement
- if @condition
(Some code)
- else
(Some other code)
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作.问题不在于评论本身.我必须删除实际的Ruby代码行(包括连字符)以使其呈现.也就是说,即使我只留下一个前面带有连字符的空行,如下所示:
- # Stuff like ______ activates the if statement
- if @condition
(Some code)
-
- else
(Some other code)
Run Code Online (Sandbox Code Playgroud)
我犯了同样的错误.其他可能相关的细节:稍后有更多的代码与if/else语句(不在其中)相同的缩进级别,并且整个事物嵌套在表单中.有人可以向我解释出现了什么问题吗?非常感谢!
PS这是我的第一个问题,所以如果我不恰当地提出这个问题,请告诉我.
我用这个命令
rake doc:app
Run Code Online (Sandbox Code Playgroud)
为我的rails应用程序生成一些基本文档.它在过去总是运作良好.昨天我将应用程序从Ruby 1.9.3升级到2.1.1,将Rails 3.2升级到4.1.应用程序一切正常,所以我在几周内第一次重新生成文档,但它失败了.我运行上面的命令,并收到以下错误消息:
rake aborted!
Don't know how to build task 'README.rdoc'
/home/vagrant/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/home/vagrant/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => doc:app => doc/app/index.html
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)
我相信这是rake为其不知道的任务提供的标准错误消息.就像我跑了一样
rake foo
Run Code Online (Sandbox Code Playgroud)
它提供了确切的东西,但使用'foo'而不是'README.rdoc'.我跑的时候得到的结果相同
bundle exec rake doc:app
Run Code Online (Sandbox Code Playgroud)
我正在使用rake 10.2.2.知道发生了什么事吗?