Ruby on rails 3 产品上的Haml渲染错误

Ruby on rails 3 产品上的Haml渲染错误,ruby-on-rails-3,haml,passenger,Ruby On Rails 3,Haml,Passenger,我正在MacOSX上编写一个Rails 3应用程序,它在开发和生产中都运行良好。当我使用Passenger部署应用程序时,我的一个视图中出现错误。这是视图的外观: %p#refresh= link_to 'Refresh', '#', id: "refreshAreaLink" #newAreaParagraph = link_to 'New area', '#', id: "createNewAreaLink" - for area_group in AreaGroup.all .

我正在MacOSX上编写一个Rails 3应用程序,它在开发和生产中都运行良好。当我使用Passenger部署应用程序时,我的一个视图中出现错误。这是视图的外观:

%p#refresh= link_to 'Refresh', '#', id: "refreshAreaLink"

#newAreaParagraph
  = link_to 'New area', '#', id: "createNewAreaLink"

- for area_group in AreaGroup.all
  .areaGroup
    = area_group.name
  %ul
  - for area in Area.find_all_by_area_group_id(area_group.id)
    %li.areaList
      = link_to area.name, area, :remote => true, :class => "areaLink", :id => "prufa"
.areaGroup
  No group
- for area in Area.find_all_by_area_group_id(nil)
  %li.areaList
    = link_to area.name, area, :remote => true, :class => "areaLink", :id => "prufa"
这就是我得到的错误:

Started GET "/" for 192.168.102.28 at Sat Sep 10 15:36:20 +0000 2011
  Processing by MapController#index as HTML
Rendered areas/_sidebar.html.haml (4.9ms)
Rendered map/index.html.haml within layouts/map (7.8ms)
Completed   in 224ms

ActionView::Template::Error (compile error
/var/shellopt/app/views/areas/_sidebar.html.haml:1: syntax error, unexpected ':', expecting ')'
...e((link_to 'Refresh', '#', id: "refreshAreaLink"
                              ^
/var/shellopt/app/views/areas/_sidebar.html.haml:4: syntax error, unexpected ':', expecting ')'
...( link_to 'New area', '#', id: "createNewAreaLink"
                              ^):
    1: %p#refresh= link_to 'Refresh', '#', id: "refreshAreaLink"
    2: 
    3: #newAreaParagraph
    4:   = link_to 'New area', '#', id: "createNewAreaLink"
  app/views/areas/_sidebar.html.haml:22:in `compile'
  app/views/layouts/map.html.haml:24:in `_app_views_layouts_map_html_haml___245337611_70182228267100_0'
有什么明显的我做错了吗

问候,, Johann

看起来第4行使用了新的Ruby 1.9哈希语法
key:value
,而不是
:key=>value
。您的生产环境是否运行Ruby 1.8?如果是这样,您需要升级到1.9,或者使用Ruby 1.8兼容的格式:

  = link_to 'New area', '#', :id => "createNewAreaLink"

正确-我在生产中使用了1.8.x,当我根据您的建议修复链接时,错误消除了。对我来说,下一步是将Rubyon产品更新为相同的版本。非常感谢你,迪伦。