【问题标题】:Slim template can't be rendered on productionSlim 模板无法在生产中渲染
【发布时间】:2015-03-26 17:36:35
【问题描述】:

我确实将我的应用程序更新到 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'

【问题讨论】:

  • 尝试从第 10 行删除 '
  • 好的,我会试试这个。你能解释一下为什么你认为这可能是个问题吗?
  • 意外的令牌以 ' 结尾。这可能是苗条解析器中的一些错误。
  • 这不是问题

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


【解决方案1】:

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

因此,将cookies_serializer.rb 中的以下设置从:json 更改为:hybrid 就成功了

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2019-03-02
    相关资源
    最近更新 更多