Sinatra 应用程序部署到 Heroku,但 Textile 标记未包装在 HAML 布局中
我编写了一个小型 Sinatra 应用程序(版本 1.1.2)并将其成功部署到 Heroku,只有一个小问题。其中一个视图 views/about.textile 未由用 HAML 编写的布局正确包装。纺织品渲染正确,但 views/layout.haml 提供的 CSS 和菜单栏不会出现在“关于”页面上。
在我的应用程序文件 main.rb 中,我有:
configure do
set :textile, :layout_engine => :haml
end
get "/about" do
textile :about
end
RedCloth 在 Gemfile 中指定,并且我在 config 中需要“redcloth”。 ru。
当我推送到 Heroku 时,所有必需的 gem 都已正确安装。
当我使用 shotgun 或 rackup 在本地运行应用程序时,about.textile 视图会正确显示。
我想知道其他人是否也遇到过类似的问题,或者我是否遗漏了一些明显的东西?
I've written a small Sinatra application (version 1.1.2) and deployed it successfully to Heroku, with just one small problem. One of the views, views/about.textile, is not wrapped properly by the layout, written in HAML. The textile renders correctly, but the CSS and a menu bar provided by views/layout.haml do not appear on the About page.
In my application file main.rb, I have:
configure do
set :textile, :layout_engine => :haml
end
get "/about" do
textile :about
end
RedCloth is specified in Gemfile and I have require "redcloth" in config.ru.
All of the required gems are installed correctly when I push to Heroku.
The about.textile view displays correctly when I run the app locally using shotgun or rackup.
I wondered if anyone else has seen a similar problem, or am I missing something obvious?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在使用一些 Rails 应用程序时也遇到了这个问题。问题出在我身上:我的应用程序在本地使用 Thin 运行,在生产服务器上使用 mongrel 运行。因此,您可以调查应用程序是否在与本地服务器相同的heroku 上运行。我也在生产中切换到精简模式,这解决了我的问题。看看这里如何更改heroku上的网络服务器: http://devcenter.heroku.com/articles/rails3#网络服务器(您必须更改命令以适合您的 sinatra 应用程序)
I experienced this problem too with some rails apps. The problem was for me: Locally my app runs with thin and on production server with mongrel. So you can investigate if the app runs on heroku with the same server as local. I switched to thin on production too, this fixed the problem for me. Look here how to change webserver on heroku: http://devcenter.heroku.com/articles/rails3#webserver (you have to change the comamnd to fit your sinatra app)
我对自己问题的解决方案就是坚持使用 haml (使用文件 about.haml)并将纺织品包含在该文件中,如下所示:
工作正常: 示例页面。
My solution to my own question was simply to stick with haml (use file about.haml) and include the textile in that file, like so:
Works just fine: example page.