我是rails的新手,我创建了一个应用,其中用户有个人资料,可以使用编辑个人资料选项进行编辑。
在控制器中我有,
ProfilesController
在我看来,
index.html.erb
edit.html.erb
这一切都适用于索引页面,但是对于编辑页面来说,首次加载时很酷,然后在刷新之后,css文件没有加载。
网址看起来像http://localhost:3000/profiles/25/edit
一切都适用于索引页面,无论刷新多少,但编辑页面令人失望。我在浏览器中检查了元素,它说GET http://localhost:3000/profiles/25/assets/bootstrap.min.css [HTTP/1.1 404 Not Found 650ms]
即搜索localhost:3000/profiles/25/assets/
中不存在的文件而非搜索localhost:3000/assets/
编辑:
结构:
app/assets/stylesheets
application.css
bootstrap.min.css
style.css
在application.html.erb中,我将application.css链接为
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
和其他css文件一样
<link href="assets/style.css" rel="stylesheet">
<link href="assets/bootstrap.min.css" rel="stylesheet">
我对结构和链接是否正确?如果没有,那么放置和使用外部css文件的位置。
请帮忙!!提前致谢。
答案 0 :(得分:2)
默认的Rails资产管道假定您希望所有样式表应用于每个页面。我一开始觉得这很尴尬,但很快意识到它与Rails&#39; &#34;不要重复自己的精神&#34;并创建合理的默认值以节省开发人员的时间。大多数时候,你所写的风格不会介意出现在所有页面上。
据我所知,您应用中的一个页面加载正常,但另一个页面失败,因为找不到CSS资源。这告诉我你除了Rails之外还做了一些事情。资产管道,因此bootstrap.css没有被错误地加载。你可以在你的app / assets和app / views目录中搜索bootstrap
的所有提及,让我知道你发现了什么吗?
理想情况下,应该声明Bootstrap样式的唯一位置是app/assets/stylesheets/application.css
&#34;清单文件&#34;看起来像这样:
/*
* This is a Sprockets manifest. See https://github.com/sstephenson/sprockets
* It compiles all CSS for the old site design (pre-WPBoom redesign).
*
*= require bootstrap
*= require jquery-ui
*= require_tree .
*/