質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

476閲覧

【Rails5】app/libとlibの違い

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/06/30 23:36

編集2017/07/02 00:02

[lib]と[app/lib]の違い。

(1)app/libは自分で用意したとします。

(1) app/ └── lib ========= (2) lib ├── assets └── tasks

質問です

絶対的な答えはないのかもしれませんが、質問があります。

質問内容
1.lib と app/lib の違い、使用用途の違いは何でしょうか
2.例えば、Bootstrap.min.js , Bootstrap.min.cssはどこに配置するべきでしょうか

質問2について、現在の配置場所は、

質問内容
Bootstrap.min.jsapp/assets/javascripts/shared
Bootstrap.min.cssapp/assets/stylesheets/shared

(...このままでも一応致命的な問題はないとは思うのですが...。)

宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

絶対的な答えはありません
cssとjsの管理はRailsにとって永遠の課題であり
バージョンによって、推奨がコロコロ変わります。
Rails5.1で最終的な決着を見せそうでしたが。
まだ変更の余地があり、変わることもありえます(公式)。

Rails3.1からsprocketsというgemが導入されており
これの設定ファイルでjsやcssの呼び出しを管理しています。
が、Rails5からこの設定ファイルが変更になったりならなかったり
(する予定だったがgemの対応が間に合わなかった)
して色々カオスなことになっています。
ここまでが前提
で、とりあえず、読み込みの流れ。
#assets-pipeline編
0. sprocketsが、指定されたフォルダを読み込む(デフォルトはlibに含まれているgemのcss.jsとassets以下)
0. application.js/.cssがフォルダから各ファイルを指定して読み込む 注 //= require_tree .は全て読み込む指定
0. assets-pipelineで必要なものはコンパイルするなどして、まとめて public assetsに出力
0. javascript_include_tag等でhtml.erbに
#webpacker編
0. yarn addを使って必要なライブラリをnode_modulesにインストール
0. app/javascript/packs 以下のjsでそれらを呼び出し,構造はフォルダを作るなどしてページごと?に管理(これも正解はない模様)
0. bin/webpacke(assets-pipelineでも自動実行される)で必要なものはコンパイルするなどして、まとめて public packsに出力
0. javascript_pack_tag等でhtml.erbに

さえ押さえておけば、置く場所はわかりやすさ重視で、割とどこでもよく
assets-pipelineとwebpackerで管理するのがRails流だと思います。

投稿2017/07/03 03:09

moke

総合スコア2241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/03 06:39

mokeさん assets-pipeline/webpackerともに勉強になりました。 バージョンによって仕様が変わってしまうようなので、 当面は現状のままにしようと思っています。 知識量。解説力共に脱帽です。本当にありがとうございます!
moke

2017/07/03 07:23 編集

Railsはturbolinksといい、故意か偶然かわかりませんが copy&pasterを拒む仕様がありまして…。 まあgeneratorを使えばcopy&pasteよりも早くて確実なので苦労はしないのですが。 version違いのコードをコピーしたりすると動かない(一行直せば動くとかがほとんどですが) などどいうことは割とよくあります。 しかし、ググれば出てきますし、railsの哲学は変わらず、常に進化しているので。 わからなくても、質問に答えてくれる人がいれば、 最高のプログラミング言語だと思います。 なので、terateilでどんどん、質問してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問