【问题标题】:putting css stylesheets for rails api为 rails api 放置 css 样式表
【发布时间】:2019-02-01 21:48:38
【问题描述】:

我现有的项目是在 Ruby on Rails api 下构建的, 创建者:

rails new my_apps --api

这意味着app下完全没有assets文件夹,也没有UI。

但是,根据当前要求,我必须为这个现有的 rails 添加一些页面(例如:为我的 API 构建 Wiki)。

问题是,如何将样式表文件夹以及 css 文件添加到我当前的项目中,所以我可以使用类似的东西:

<%= stylesheet_link_tag 'mycss' %>

编辑:

有关更多信息,我们使用两个 gems react-railswebpacker 来设置一个反应前端。安装后,javascript会安装在app/javascript/packs

这是默认的 webpacker.yml 文件:

default: &default
  source_path: app/javascript
  source_entry_path: packs
  public_output_path: packs
  cache_path: tmp/cache/webpacker

  # Additional paths webpack should lookup modules
  # ['app/assets', 'engine/foo/app/assets']
  resolved_paths: []

  # Reload manifest.json on all requests so we reload latest compiled packs
  cache_manifest: false

  extensions:
    - .jsx
    - .js
    - .sass
    - .scss
    - .css
    - .module.sass
    - .module.scss
    - .module.css
    - .png
    - .svg
    - .gif
    - .jpeg
    - .jpg

【问题讨论】:

    标签: ruby-on-rails webpack


    【解决方案1】:

    因为“rails new my_apps --api”是唯一的 API rails 应用程序创建命令。它不会为所有环境创建任何默认资产配置。当我们尝试自定义它时。管理所有东西将是一项乏味的任务。 为了避免这种情况,下面提到了一个解决方案:

    在任何 application_controller.rb 中设置布局方法,如下所示:

    class ApplicationController < ActionController::Base
      layout 'application'
    

    在 /public/assets/stylesheet/ 目录中创建 style.css。

    h1{
      color: red;
    }
    

    在 app/views/layout/ 目录下创建 application.html.erb 布局文件。

    <!DOCTYPE html>
    <html>
      <head>
        <title>Demo App</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <%= stylesheet_link_tag '/assets/stylesheet/style.css', media: 'all'%>
      </head>
    
      <body>
        <h1>Hellow World</h1>
        <%= yield %>
      </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-02
      相关资源
      最近更新 更多