html - 我的 css Assets URL 使用 rails 在不同的页面中突然发生变化

标签 html css ruby-on-rails-4 sass

我使用 Assets 样式表加载了一个 css。但是它只加载索引。当我使用 f12 时,控制台会显示 index.html 以外的其他页面的 URL。使用默认布局 application.html.erb 添加/cloths iam

路线.rb

Rails.application.routes.draw do
  resources :categories
  resources :cloths 
end

cloths_controller.rb

class ClothsController < ApplicationController
  before_action :set_cloth, only: [:show, :edit, :update, :destroy]


  # GET /cloths
  # GET /cloths.json
  def index
    @cloths = Cloth.all
    @categories = Category.all 
  end

  # GET /cloths/1
  # GET /cloths/1.json
  def show
    @cloths = Cloth.all
    @comments = Comment.where("cloth_id = ?", @cloth.id)
    @comments = Comment.paginate(:page => params[:page], :per_page => 3)
  end

  # GET /cloths/new
  def new
    @cloth = Cloth.new
    @categories = Category.all 
    respond_to do|format|
      format.html #new.html.erb
      format.xml{render :xml=>@recipe}
      end
    end

  # GET /cloths/1/edit
  def edit
  end

  # POST /cloths
  # POST /cloths.json
  def create
    @cloth = Cloth.new(cloth_params)

    respond_to do |format|
      if @cloth.save
        format.html { redirect_to @cloth, notice: 'Cloth was successfully created.' }
        format.json { render :show, status: :created, location: @cloth }
      else
        format.html { render :new }
        format.json { render json: @cloth.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /cloths/1
  # PATCH/PUT /cloths/1.json
  def update
    respond_to do |format|
      if @cloth.update(cloth_params)
        format.html { redirect_to @cloth, notice: 'Cloth was successfully updated.' }
        format.json { render :show, status: :ok, location: @cloth }
      else
        format.html { render :edit }
        format.json { render json: @cloth.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /cloths/1
  # DELETE /cloths/1.json
  def destroy
    @cloth.destroy
    respond_to do |format|
      format.html { redirect_to cloths_url, notice: 'Cloth was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  def men
  end


#PRIVATE
  private
    # Use callbacks to share common setup or constraints between actions.
    def set_cloth
      @cloth = Cloth.find(params[:id])
    end
    def cloth_params
      params.require(:cloth).permit(:title, :category_id, :description)
    end

end

应用程序.html.erb

<!DOCTYPE HTML>
<html>
<head>
<title>Batik</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="assets/bootstrap.css" rel='stylesheet' type='text/css' />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="assets/simpleCart.min.js"> </script>
<script src="assets/jquery.min.js"></script>
<!-- Custom Theme files -->
<link href="assets/style.css" rel='stylesheet' type='text/css' />
<!-- Custom Theme files -->
<!--webfont-->
<link href='http://fonts.googleapis.com/css?family=Raleway:100,200,300,400,500,600,700,800,900' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Audiowide' rel='stylesheet' type='text/css'>
<script src="assets/jquery.easydropdown.js"></script>
<!-- Add fancyBox main JS and CSS files -->
<script src="assets/jquery.magnific-popup.js" type="text/javascript"></script>
<link href="assets/magnific-popup.css" rel="stylesheet" type="text/css">
    <script>
      $(document).ready(function() {
        $('.popup-with-zoom-anim').magnificPopup({
          type: 'inline',
          fixedContentPos: false,
          fixedBgPos: true,
          overflowY: 'auto',
          closeBtnInside: true,
          preloader: false,
          midClick: true,
          removalDelay: 300,
          mainClass: 'my-mfp-zoom-in'
      });
    });
    </script>
</head>
<body>



    <%#=debug(session)%>
    <%= yield %>
 <!--Footer-->
<div class="container">
      <div class="brands">
       <ul class="brand_icons">
        <li><img src='assets/icon1.jpg' class="img-responsive" alt=""/></li>
        <li><img src='assets/icon2.jpg' class="img-responsive" alt=""/></li>
        <li><img src='assets/icon3.jpg' class="img-responsive" alt=""/></li>
        <li><img src='assets/icon4.jpg' class="img-responsive" alt=""/></li>
        <li><img src='assets/icon5.jpg' class="img-responsive" alt=""/></li>
        <li><img src='assets/icon6.jpg' class="img-responsive" alt=""/></li>
        <li class="last"><img src='assets/icon7.jpg' class="img-responsive" alt=""/></li>
       </ul>
       </div>
      </div>
      <div class="container">
        <div class="instagram_top">
          <div class="instagram text-center">
        <h3><i class="insta_icon"> </i> Instagram feed:&nbsp;<span class="small">#Surfhouse</span></h3>
      </div>
          <ul class="instagram_grid">
        <li><a class="popup-with-zoom-anim" href="#small-dialog1"><img src="assets/i1.jpg" class="img-responsive"alt=""/></a></li>
        <li><a class="popup-with-zoom-anim" href="#small-dialog1"><img src="assets/i2.jpg" class="img-responsive" alt=""/></a></li>
        <li><a class="popup-with-zoom-anim" href="#small-dialog1"><img src="assets/i3.jpg" class="img-responsive" alt=""/></a></li>
        <li><a class="popup-with-zoom-anim" href="#small-dialog1"><img src="assets/i4.jpg" class="img-responsive" alt=""/></a></li>
        <li><a class="popup-with-zoom-anim" href="#small-dialog1"><img src="assets/i5.jpg" class="img-responsive" alt=""/></a></li>
        <li class="last_instagram"><a class="popup-with-zoom-anim" href="#small-dialog1"><img src="assets/i6.jpg" class="img-responsive" alt=""/></a></li>
        <div class="clearfix"></div>
        <div id="small-dialog1" class="mfp-hide">
        <div class="pop_up">
          <h4>A Sample Photo Stream</h4>
          <img src="assets/i_zoom.jpg" class="img-responsive" alt=""/>
        </div>
        </div>
      </ul>
      </div>
        <ul class="footer_social">
      <li><a href="#"> <i class="fb"> </i> </a></li>
      <li><a href="#"><i class="tw"> </i> </a></li>
      <li><a href="#"><i class="pin"> </i> </a></li>
      <div class="clearfix"></div>
       </ul>
      </div>
     </div>

</body>
</html>

在 Index.html 上一切正常,但在显示、编辑和添加所有 Assets url 时变得不同。像这样

GET http://localhost:3000/cloths/assets/bootstrap.css (404 could not found)

为什么 URL 突然变成“/cloths/assets”而不是“/assets”

最佳答案

你需要添加config.assets.paths << Rails.root.join('app', 'assets', 'cloths')给你的config/application.rb使布料/ Assets 可以从您的应用程序上的/assets 访问

关于html - 我的 css Assets URL 使用 rails 在不同的页面中突然发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36685682/

相关文章:

ruby-on-rails - Rails 相关 : :destroy on belongs to

heroku - 尝试了几个修复: Heroku/Rails 4 Assets Precompile Error

html - 具有图像背景的响应宽度 Div 作为全宽标题图像(固定高度)

html - 如何从 HTML 列表中删除缩进?

javascript - 在浏览器宽度较小后将站点重定向到具有视频背景的特殊站点?

sql - rails 方法从同一个表中获取不同类型的记录

javascript - 基于巴塞罗那市时区的代码

javascript - HTML、Bootstrap 和 CSS 3

jquery - 关于在 jquery 中单击复选框执行操作的简单问题

不同行的html表格单元格宽度