语法错误,active_record / attribute_methods / read.rb中的意外kEND

时间:2011-08-25 11:34:51

标签: ruby-on-rails activerecord cancan

我正在新环境中设置一个正在运行的应用程序,在运行'bundle install'之后,我尝试启动一个应用程序。 我收到以下错误:

ActionView::Template::Error (compile error
D:/Dev_apps/Ruby187/lib/ruby/gems/1.8/gems/activerecord-3.1.0.rc5/lib/active_record/attribute_methods/read.rb:85: syntax error, unexpected kEND
D:/Dev_apps/Ruby187/lib/ruby/gems/1.8/gems/activerecord-3.1.0.rc5/lib/active_record/attribute_methods/read.rb:87: syntax error, unexpected $end, expecting kEND):
6:   <nav class="round">
7: 
8:     <ul>
9:       <% if can? :browse_backend, current_user %>
10:         <li><%= link_to "Админка", admin_root_path %></li>
11:       <% end %>
12: 
app/models/user.rb:60:in `has_role?'
app/models/ability.rb:14:in `initialize'
app/views/layouts/_header.html.erb:9:in   `_app_views_layouts__header_html_erb___239100443_122539296'
app/views/layouts/application.html.erb:16:in `_app_views_layouts_application_html_erb__144136837_122749020'

我无法理解的是,如何在宝石中发生这种情况。

2 个答案:

答案 0 :(得分:3)

当我将我的应用程序升级到rails 3.1时出现此错误,我可以通过安装更新​​版本的mysql2 gem来修复它(我安装了0.3.7)。

答案 1 :(得分:0)

问题在于您的代码,但由于宝石使用您的代码来实现他们的魔力,因此错误似乎来自宝石。

检查第60行的user.rb文件。您可能会遇到语法错误。