【问题标题】:Suddenly my admin pages won't load in Padrino (Template Engine not found)突然我的管理页面无法在 Padrino 中加载(找不到模板引擎)
【发布时间】:2013-07-02 01:53:41
【问题描述】:

以前我的应用程序中的管理页面从来没有遇到过问题,但是在我的机器重启后我收到了这个错误:

RuntimeError at /admin/sessions/new
Template engine not found: /sessions/new

有了这个缩写的回溯:

/Users/jeremysmith/code/robusto_server/admin/controllers/sessions.rb in block (2 levels) in <top (required)>
    render "/sessions/new", nil, :layout => false
/Users/jeremysmith/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/httpserver.rb in service
      si.service(req, res)

app.rb 中的所有内容都与它以前工作时相同:

set :login_page, "/admin/sessions/new"

  enable  :sessions
  disable :store_location

  access_control.roles_for :any do |role|
    role.protect "/"
    role.allow "/sessions"
  end

  access_control.roles_for :admin do |role|
    role.project_module :stat_definitions, "/stat_definitions"
    role.project_module :accounts, "/accounts"
  end

【问题讨论】:

    标签: ruby sinatra padrino


    【解决方案1】:

    你需要在你的app.rb中添加

    register Padrino::Rendering

    【讨论】:

    • 哇,非常感谢。你知道为什么它以前工作过,或者为什么它随机停止工作吗?我的 app.rb 从来没有这条线..
    • 因为这样你就可以使用你真正需要的东西。因此,如有必要,您可以进行一个干净的项目。
    【解决方案2】:

    我在使用模块化 Sinatra 模式应用程序和我的模板引擎 slim 时遇到了同样的问题。我无法渲染模板或部分。这是我修复它的方法:

    # Gemfile
    gem 'padrino-core'
    gem 'padrino-helpers'
    
    # app.rb
    require 'padrino-core/application/rendering'
    require 'padrino-helpers'
    
    class App < Sinatra::Base
      register Padrino::Rendering
      register Padrino::Helpers
    end
    

    更多信息http://www.padrinorb.com/guides/standalone-usage-in-sinatra

    【讨论】:

      猜你喜欢
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      相关资源
      最近更新 更多