在我的rails应用程序中,我有一个指向所有浏览器中呈现的根目录的链接
<html>
<head>
<style type="text/css"></style>
</head>
<body>19</body>
</html>
服务器端我可以看到所有资产都被传回去了。由于某种原因,浏览器不会显示它们,因为如果我查看页面源我可以正确看到所有标记。
现在,如果我加载或重新加载页面localhost:3000,通常页面和所有资产都会正确显示。如果我只是刷新,我什么也得不到。
这种情况发生的唯一时间是我点击返回主页的链接,如href =&#34; /&#34;。
如果我硬编码href =&#34; localhost:3000 /&#34;则不会发生这种情况。但我不想这样做。
Rails应用程序,Turbolinks,代码中没有任何地方我使用数字19,rake路由与根GET明确定义,没有public / index.html。我怀疑某种程度的缓存或turbolinks,但我不知道如何解决。
编辑:Config / Routes.rb
SCRR::Application.routes.draw do
root 'home#index'
#pages
get 'about' => 'pages#about'
get 'history' => 'pages#history'
get 'links' => 'pages#links'
get 'safety' => 'pages#safety'
get 'membership' => 'pages#membership'
get 'events' => 'events#index'
get 'grand_prix' => 'grand_prix#index'
get 'newsletters' => 'newsletters#index'
end
编辑2:Chrome Devtools控制台错误
这个错误可能更相关
资源解释为字体但使用MIME类型application / x-woff传输:&#34; https://netdna.bootstrapcdn.com/font-awesome/2.0/font//fontawesome-webfont.woff&#34;。
的jquery-2.1.0.js体= 1:1078
25115:CS - &gt; BG:FAILED closepopuptoplevel
onloadwff.js:77
答案 0 :(得分:0)
根据您发布的内容,我不知道这是Rails问题还是浏览器问题。
我看到你标记了turbolinks
,这可能是问题的一个贡献者;所以让我们来看看可能的问题:
<强> ERB 强>
您应该使用的ERB代码如下:
<%= link_to "Home", root_path %>
如果您正在尝试引用&#34; home&#34;直接在网址上,您可能会遇到如何呈现网址的问题,因此无法显示原因。您应确保使用上述path helper
。
这应该与正确的路线相结合:
#config/routes.rb
root "home#index"
resources :pages, path: "" do
collection do
get :about
get :history
get :links
get :safety
get :membership
get :events
get :grand_prix
get :newsletters
end
end
<强>资产强>
您提及刷新页面时不会呈现的资源,可能是 Turbolinks 的问题,但我不确定< / p>
Turbolinks基本上只是重新加载页面的<body>
,保持<head>
不变。虽然这听起来与您的问题无关,但或许问题与Turbolinks处理您的资产的方式有关
在您的编辑中,您的资产可能无法正确加载,或者至少未正确显示。
我希望这会有所帮助,我怀疑它会给你一个建设性的答案