我是Rails的新手,尽管正在寻找答案,但我一直在努力解决这个问题。
我创建了一个新的应用程序,我正在尝试将Theme Forest Bootstrap模板迁移到应用程序中。我认为这很简单,但到目前为止我都失败了。
这些文件包含以下代码:
应用/视图/布局/ application.html.erb
<head>
<!-- Meta Tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Title -->
<title>Site</title>
<!-- Fonts -->
<link rel="stylesheet" type="text/css" href='http://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,700,900,700italic,500italic'>
<!-- Stylesheets -->
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<link rel="stylesheet" href="css/ie.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="css/fontello-ie7.css">
<![endif]-->
<%= csrf_meta_tags %>
</head>
应用/资产/样式表/ application.css
*= require_self
*= require_tree .
*= require bootstrap.min
*= require perfect-scrollbar
*= require style
*= require flexslider
*= require fontello
*= require animation
*= require owl.carousel
*= require owl.theme
*= require chosen
*/
应用/资产/ Javascript角/ application.js中
//= require_tree .
//= require modernizr.min
//= require jquery-1.11.0.min
//= require jquery-ui.min
//= require jquery.raty.min
//= require perfect-scrollbar.min
//= require zoomsl-3.0.min
//= require jquery.fancybox.pack
//= require jquery.themepunch.plugins.min
//= require jquery.themepunch.revolution.min
//= require flexslider.min
//= require jquery.iosslider.min
//= require jquery.nouislider.min
//= require owl.carousel.min
//= require chosen.jquery.min
//= require bootstrap.min
//= require turbolinks
由于某种原因,这无法加载我认为是bootstrap-min.js。
如果删除stylesheet_link_tag
代码并替换 application.html.erb 文件中的css链接以反映以下内容,我可以让该网页正常运行:
<link rel="stylesheet" href="assets/bootstrap.min.css">
<link rel="stylesheet" href="assets/perfect-scrollbar.css">
<link rel="stylesheet" href="assets/style.css">
<link rel="stylesheet" href="assets/flexslider.css" type="text/css" media="screen" />
<link rel="stylesheet" href="assets/fontello.css">
<link rel="stylesheet" href="assets/animation.css">
<link rel="stylesheet" href="assets/owl.carousel.css">
<link rel="stylesheet" href="assets/owl.theme.css">
<link rel="stylesheet" href="assets/chosen.css">
我有一种感觉,我会因为不知道而被记住,但记住我是新手,我必须从某个地方开始!
答案 0 :(得分:0)
您需要将各种样式表(例如bootstrap.min.css)从assets/bootstrap.min.css
移至资产/样式表/ bootsrap.min.css&#39;。
资产/样式表文件夹中的任何内容都会由于此标记而被资产管道选中:*= require_tree .
并由<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
包含在您的应用中。 Rails Asset Pipeline将连接并缩小您的所有资产。除了默认值之外,您通常不必在application.css中使用require。
在此处阅读有关Rails Asset Pipeline的更多信息:http://guides.rubyonrails.org/asset_pipeline.html
另外我建议使用bootstrap作为gem而不是手动包含资产。在此处阅读更多内容:https://github.com/twbs/bootstrap-sass
答案 1 :(得分:0)
我已经整理好了!
我认为CSS中肯定存在冲突。我
*= require_tree .
现在工作正常。我还发现JS存在问题,我也将其删除了。
不确定这是否可行,但我欢迎任何建设性意见。
答案 2 :(得分:0)
我看到了这个错误。这是execjs的编码问题。我在这个帖子上找到了解决方案(ExecJS::RuntimeError on Windows trying to follow rubytutorial)我选择了这个选项 - 更令人满意!