我無法弄清楚如何使某些.scss文件在某些視圖下工作。我刪除了* = require_tree。從application.css.scss,但我不知道該從哪裏去。 stylesheet_link_tag似乎無法識別.scss文件。我可以使用什麼標籤將.scss文件導入到視圖中?Rails - 如何爲1視圖設置1個scss文件
我也試過爲不同的視圖創建不同的控制器,但是在我刪除了require_tree之後,控制器不使用自動生成的.scss文件。
我無法弄清楚如何使某些.scss文件在某些視圖下工作。我刪除了* = require_tree。從application.css.scss,但我不知道該從哪裏去。 stylesheet_link_tag似乎無法識別.scss文件。我可以使用什麼標籤將.scss文件導入到視圖中?Rails - 如何爲1視圖設置1個scss文件
我也試過爲不同的視圖創建不同的控制器,但是在我刪除了require_tree之後,控制器不使用自動生成的.scss文件。
你可能缺少的最重要的一條是,鏈輪將不會提供任何資產,主要是css和js需要在資產清單中聲明。引用文檔:
如果您有其他清單或個別樣式表和JavaScript文件包括,您可以將它們添加到配置/初始化/ assets.rb預編譯數組:
Rails.application.config.assets.precompile += ['admin.js', 'admin.css', 'swfObject.js']
使用預期的結果名稱(擴展名爲.css
),而不是源文件(擴展名爲.scss
)。
謝謝。閱讀時我對此感到困惑,並嘗試使用.scss擴展名添加它。我的css文件現在正在工作,但我有我的應用程序中的每個視圖應用css的原始問題。我只在一個視圖中使用stylesheet_link_tag。 –
有一種方法來組織基於控制器的資產。 導軌指南有一個section about it。
根據它,你可以爲你的ProjectsController
創建app/assets/stylesheets/projects.css.scss
文件,包括像這樣:
<%= stylesheet_link_tag params[:controller] %>
執行此操作時,請確保您使用的不是
基於require_tree
指令,因爲這將導致你的資產被包括不止一次。
動作樣式表可以類似地創建的:
<%= stylesheet_link_tag "#{params[:controller]}/#{params[:action]}" %>
謝謝。我已經讀過這部分,但仍有點困惑。 –
除去application.css
*= require_tree
。
在application.html附加:
<head>
<%= yield :stylesheets %>
</head>
而且每一頁上呈現:
<% content_for :stylesheets do %>
<%= stylesheet_link_tag "your file" %>
<% end %>
我得到了這個工作,但CSS仍然適用於我的應用程序中的每個視圖。我只將stylesheet_link_tag添加到一個視圖中。我確實刪除了application.css.scss中的require_tree標籤。謝謝您的幫助。 –
將產量添加到application.html.erb導致問題。來自一個頁面的CSS也被包含在其他頁面中,這也是我想要避免的。這隻發生在我從一個頁面導航到另一個頁面的時候..也許這與樣式如何被緩存在系統中有關係?不知道..是我所要做的,雖然是stylesheet_link_tag添加到我想要不同的CSS上的頁面。 –
css文件應該包含在head部分。 –
你是什麼意思'stylesheet_link_tag'無法識別'.scss'文件?你可以發佈一些代碼嗎?它應該工作,所以我認爲你的視圖代碼中存在一個問題。 – ptd