我刚刚在我的开发笔记本电脑上完成了我的应用程序,现在我正在尝试部署到 ubuntu 服务器。我安装了所有东西并运行 rails s 来尝试那里的开发环境。它可以工作,但它从不加载 css 或 js,我预编译了它们并仔细检查它们是否位于公共(public) Assets 文件夹中。 问题是它从不要求他们。比如我的application layout view it like usual (just as an idea, not actual code, but it is not needed to explain):
<html>
<head>
----rails calls to application.js and css
</head>
<body>
<%= yield %>
</body>
</html>
但是当我加载登录页面时,没有 css。我检查了页面源,它只显示了 <%= yield %> 部分,没有 html、body 或 head 标签,当然也没有对 css 或 js 的引用。我登录并正确导航应用程序,但从未使用过任何 css 或 js 文件。
为什么会这样?代码没有任何变化,只是一台不同的机器。我已经在不同的机器上尝试过,只需复制包含我所有代码的文件夹,然后运行 bundle install 然后运行 rails s,它在 3 台不同的机器上运行良好。为什么它在 ubuntu 服务器上不起作用?
最佳答案
我终于让它工作了。 无论出于何种原因,rails 丢失了在应用程序 Controller 中呈现的 View 的默认值。 我将以下行添加到应用程序 Controller 并且它起作用了:
layout "application.html.erb"
不知道为什么需要这个,因为它是默认设置。
关于html - Ubuntu 服务器 14.04 上的 Rails,未加载应用程序布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325072/