为什么在Rails 3中这个erb行为发生了变化?

时间:2010-12-09 00:57:57

标签: ruby-on-rails

我正在将一个Rails 2.8应用程序移植到Rails 3.大多数东西现在正在工作,并且正在慢慢解决扭结。我发现的一种行为令人困惑,我想了解幕后发生了什么变化。以下代码段在2.x中有效,但在3.0中失败:

<% 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....

rails中有哪些更改需要更新语法?

2 个答案:

答案 0 :(得分:7)

我很想申请赏金并改写它,但我认为你要找的文章是http://timeless.judofyr.net/block-helpers-in-rails3

答案 1 :(得分:0)

This railscast解释了Rails 3中erb块的变化及其制作原因。