何の話?
アプリケーションの CSS が表示されず、 404 not found となってしまいます
Sqale では、静的コンテンツは以下のディレクトリを参照する設定となっております。
/home/sqale/current/public
CSS を上記の場所に配置し、ご利用のアプリケーションの CSS 参照パス等を修正してください。
Sqale FAQ: 技術的な仕様に関する質問より
に書かれている静的コンテンツとは何なのか、について。
どういうものが静的コンテンツにあたるのか
画像ファイル
railsのimage_tagで指定する画像ファイル
- railsで管理するので標準の通りに
app/assets/images
に置いておいて良いです。
JavaScript等から指定する画像ファイル
-
public/images
へ配置する必要があります
※例えばJavaScriptを利用してcanvasに背景を貼り付ける場合などは、
canvas.setBackgroundImage('画像ファイル.png', canvas.renderAll.bind(canvas),{パラメータ}
みたいな書き方をするので、これの背景画像は静的ファイルとみなされるのでpublic/images
へ配置する必要があります。
javascriptとcssファイル
railsがファイル名を決めているもの
- 例えばjavascriptでuserモデルの
user.js
ファイルはapp/assets/javascripts
で良いです。 - 例えばCSSの
user.css
であればapp/assets/stylesheets
で良いです。
自分でファイル名を決めたもの
- 例えば自作の
popup.js
のようなファイルはpublic/javascripts
に配置する必要があります。
対策:js, cssからどのようにファイル指定をすれば良いのか
こちらによくまとまっています。
Rails4ではbackground:url("assets/hoge.png")の書き方は動かない話
私は解決法3で対策を行いました。
感想
正直Sqaleの説明がわかりづらかった。。。
みなさんあの説明で理解できるのでしょうか。