Slim模板无法在生产中呈现

时间:2015-03-26 17:36:36

标签: ruby-on-rails ruby ruby-on-rails-4.1 slim-lang

我确实将我的应用程序更新到Rails 4.1.10,它在我的暂存环境中运行良好。

现在,只要我将我的应用程序部署到生产环境,我就会在其中一个视图中收到以下致命错误:

F, [2015-03-26T18:12:21.159599 #4741] FATAL -- : 
ActionView::Template::Error (795: unexpected token at [[iI""$2a$10$2BUwvWEvQzm404VPpY71BO:ET'):
     5:     .row
     6:       .col-xs-8
     7:         h1 = search_highlight(@programme.title, params)
     8:         - if current_admin_user
     9:           i.fa.fa-edit
    10:           '
    11:           = link_to t('edit'), (admin_programme_path(@programme) + '/edit'), target: '_blank'
  app/views/programmes/show.html.slim:8:in `_app_views_programmes_show_html_slim__2487450803659794271_70344829653360'

我得到的提示非常具有误导性,我似乎无法弄清楚这里有什么问题。

795: unexpected token at [[iI""$2a$10$2BUwvWEvQzm404VPpY71BO:ET'

1 个答案:

答案 0 :(得分:0)

事实证明,问题与苗条根本没有直接关系。当我访问current_admin_user时,来自客户端的cookie被解析,因为我将我的Rails应用程序从4.0升级到4.1,所以cookie以旧格式存储,Rails 4.1的默认值为:json。

因此,在:json中将:hybrid的{​​{1}}更改为cookies_serializer.rb可以解决问题

Rails.application.config.action_dispatch.cookies_serializer = :hybrid