テクノロジー

【Rails】サブディレクトリとアセットパイプラインのお話

ゆうき's icon'
  • ゆうき
  • 2020/04/30 12:11
Content image

この辺で事故ったのと、「Rails5+サブディレクトリ+アセットパイプライン」(の検索単語)に関する記事がグーグルにはあまりなかったので軽いメモ。

同じような問題を受けた人の助けになれば。

 

 

個人でアプリ開発をする場合、一つのサーバーに複数のRailsアプリを詰め込むことがよくあるのですが、そうすると、アドレス直下ではなく、何らかのフォルダの下にRailsアプリを置いていくわけになるのですよね。

 

そんなときは「config.ru」にて、以下のように記述することで、サブディレクトリで起動できるようにするわけなのですが、

RAILS_RELATIVE_URL_ROOT='/XXXXXXXXXXX'
require_relative 'config/environment'

if RAILS_RELATIVE_URL_ROOT then
  map RAILS_RELATIVE_URL_ROOT do
    run Rails.application
  end
else
  run Rails.application
end

(「XXXXXXXXXXX」は任意のサブディレクトリの名前)

これだけだと、アセットパイプライン(asset)のアドレスが変更されていないので、scss(Sass)やcssファイルが反映されないのですよね(正確には読み込めない)

 

生成されたcssファイルを直接見ると「Not Found」になります。

それもそのはず。

/XXXXXXXXXXX/assets/application.self ~

にファイルが作られているにも関わらず、

読み込んでいるのは、

/assets/application.self ~

ですから。

 

 

この問題を解決するためには、

「config/environments/development.rb」の「Rails.application.configure do」内部で、

ENV["RAILS_RELATIVE_URL_ROOT"] = "/XXXXXXXXXXX"

Rails.application.config.relative_url_root = "/XXXXXXXXXXX"

といった宣言が必要になります。

また、デプロイ後にも対応が必要なので「production.rb」の方もいじる必要があるのでお忘れずに。
 

 

以上、ちょっとしたトラブル解決法でした。

この内容でよくわからなかったら、この記事にあるワードで検索してみてね。

( ・ω・)ノ

 

Article tip 0人がサポートしています
獲得ALIS: Article like 8.35 ALIS Article tip 0.00 ALIS
ゆうき's icon'
  • ゆうき
  • @yuuki

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
161.20 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS