2010-12-09 29 views
6

我正在将Rails 2.8应用程序移植到Rails 3.现在大部分工作正在进行,并且正在慢慢地解决问题。我发现的一种行为是令人困惑的,我想知道幕后发生了什么变化。下面的代码片段工作在2.X,但未能在3.0:为什么在Rails 3中这个erb行为改变了?

<% if @apps.nil? || @apps.empty? %> 
    No rated applications. 
<% else 
    ratingshidden = false 
    @apps.each { |app| %> 
display app stuff etc.... 

,使其在3个工作,我必须改变如下:

<% if @apps.nil? || @apps.empty? %> 
    No rated applications. 
<% else %> 
<% 
    ratingshidden = false 
    @apps.each { |app| %> 
display app stuff etc.... 

在什么轨道变更,要求本更新语法?

+2

只是一个提示,你可以用`@ apps.blank?`,而不是`@apps.nil的? || @ apps.empty?`。 Docs [here](http://api.rubyonrails.org/classes/Object.html#method-i-blank%3F)。 – markquezada 2010-12-09 02:35:39

+0

谢谢,我一直在使用它的字符串,不知道为什么我没有在这里使用它! – Joshua 2010-12-09 18:51:29

+0

这看起来可能与风格块助手的弃用有关......想知道更多关于内部变化的信息。开始赏金...... – Joshua 2010-12-13 18:54:57

回答

0

This railscast解释了Rails 3中erb块的变化以及它们为什么被创建。

相关问题