2010-12-09 64 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塊的變化以及它們爲什麼被創建。

相關問題