小编Saw*_*ath的帖子

If语句中的额外Ruby行导致Haml出现问题?

我试图在我的一个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这是我的第一个问题,所以如果我不恰当地提出这个问题,请告诉我.

ruby haml ruby-on-rails

6
推荐指数
1
解决办法
1891
查看次数

Rake doc:app升级到Ruby 2.1.1和Rails 4.1后失败

我用这个命令

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.知道发生了什么事吗?

ruby rake ruby-on-rails ruby-on-rails-4 ruby-2.1

6
推荐指数
1
解决办法
1287
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

haml ×1

rake ×1

ruby-2.1 ×1

ruby-on-rails-4 ×1