web-dev-qa-db-ja.com

Ruby on Railsアプリケーションと一緒にCSSを使用するにはどうすればよいですか?

RoRでCSSを使用するにはどうすればよいですか?外部にリンクすると、ファイルを見ることができなくなります。ビュー、コントローラー、テンプレートなど、考えられるすべてのフォルダーに.cssファイルをcpしましたが、何も機能しないようです。

Railsアプリケーションで外部CSSファイルを有効にするために何をする必要がありますか?私はRailsを初めて使用します。

59
Stefan Kendall

CSSファイルをpublic/stylesheetsに入れてから使用します:

<%= stylesheet_link_tag "filename" %>

レイアウトのスタイルシートまたはビューのerbファイルにリンクします。

同様に、画像をpublic/imagesに配置し、javascriptファイルをpublic/javascriptsに配置します。

56
Kyle Boon

Rails> 3バージョンを使用している場合、asset pipeline。 CSSを追加できます

app/assets/stylesheets

その後、アプリによって自動的に取得されます。 (これはRailsがCSSファイルを自動的に圧縮するので便利です)

詳細はこちら アセットパイプラインについて

18
sameera207

私は次のことをしました...

  1. cssファイルをapp/assets/stylesheetsフォルダーに配置します。
  2. スタイルシートリンク<%= stylesheet_link_tag "filename" %>をデフォルトのレイアウトファイルに追加します(ほとんどの場合application.html.erb

パブリックフォルダーを使用するよりもこれをお勧めします。インデックスページなどで、スタイルシートをインラインで参照することもできます。

14
Jim Chertkov

Railsスタイルシートタグを使用して、このようにmain.cssをリンクします

<%= stylesheet_link_tag "main" %>

に行く

config/initializers/assets.rb

assets.rbの内部に入ったら、Rails.application.config.assets.version = '1.0'のすぐ下に次のコードスニペットを追加します

Rails.application.config.assets.version = '1.0'
Rails.application.config.assets.precompile += %w( main.css )

サーバーを再起動します。

13

元の投稿は2009年に真実だったかもしれませんが、今では実際には正しくなく、他の回答のいくつかで言及したように、スタイルシートにリンクさえ必要ありません。 Railsはデフォルトでこれを行います。

  • 新しいシート.css(またはその他)をapp/assets/stylesheetsに配置します
  • Rails-root/scripts/Railsサーバーでサーバーをテストすると、Rails自体によってリンクが追加されていることがわかります。

Testserverpath:3000/assets/filename_to_test.css?body = 1のようなブラウザのパスでこれをテストできます

3
CodeJohnny

上記に追加するために、stylesheet_link_tagを追加する最も明白な場所は、グローバルアプリケーションレイアウト-application.html.erbです。

2
Raphomet

パブリックフォルダに入れてみましたか?外部で参照する必要のある画像などがある場合は、常にそこに配置します。

0
Chris Bunch