問題タブ [sprockets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
412 参照

ruby-on-rails - スプロケットのファイル名の重複

アセット パスに次のファイルがあります。

当然、両方とも として要求されassets/abc.jsます。

修正はありますか?そうでない場合、Sprockets ソースのどの部分を変更する必要がありますか?

私の考えでは、エンジンが拡張子を削除できれば、十分にサフィックスを追加できます。

0 投票する
1 に答える
1557 参照

ruby - スプロケットが Heroku で動作しない Sinatra アプリ

このモジュールを含む小さな Sinatra アプリがあります。

次のルートが定義されています。

すべてがうまく機能し、アセットが読み込まれ、ローカル マシンに適切に表示されますpow。しかし、Heroku では単一のアセットが読み込まれることはなく、サーバーはすべてのアセット ファイルに対して 404 を返すだけです。

0 投票する
0 に答える
1230 参照

css - @ font-face eot?iefixでのアセットパイプラインの問題

Rails3.1とアセットパイプラインを使用してフォントを構成しようとしているRailsアプリに取り組んでいます。

この投稿を見てみました

アセットパイプライン、コンパスfont-face、およびフォントへのeot?iefix呼び出し

例を使用すると、sassから構文の問題が発生します。

私のコードは次のとおりです。

何らかの理由でエラーが発生します

Sass :: SyntaxError: "...'fonts / COAMEI_B"の後の無効なCSS:期待される ")"、"。eot')+"?#iefix ... "

私のcssファイルに何か足りないものがありますか?どんな助けでも大歓迎です。

前もって感謝します

0 投票する
2 に答える
195 参照

nested-forms - ネストされたフォームは、2つのコピーを追加し、Rails3.1アセットパイプラインの最初のコピーを削除します

レール3.1

Nested_forms

セットアップでいくつかの問題が発生し、間違ったソリューションを一緒にハッキングした可能性があります。


理由についてのアイデア...

  • link_to_add2つのコピーを作成しています
  • link_to_destroy間違ったコピーを破壊しています
0 投票する
2 に答える
18299 参照

ruby-on-rails - 「require_tree引数はディレクトリでなければなりません」レール3.1.1プリコンパイルアセット

私はここで、運用サーバーでアセットをプリコンパイルするために何度も試行錯誤してきました (ruby 1.9.2 と Rails 3.1.1 を使用した簡単な ubuntu インストール、および新しい sprockets 2.10 を使用した 3.1.2RC も試しました)。 .

「require_tree 引数はディレクトリでなければなりません」。スタックでこれに関連する他の問題を見てきましたが、状況はまったく同じではなく、サブフォルダーにスタブファイルを作成し、その時点で相対的にのみ参照するなど、提案された解決策はどれも役に立ちませんでした。運がない。

それに加えて、もちろん、これはすべての開発マシン (Mac ですが、構成は同じで、gem と gem が一致していても) の本番環境で完全に機能します。

ここに私の /app/assets/javascript/application.js があります:

それほど多くはありません。基本的には、アプリ領域の実際のマニフェスト ファイルを指すだけです (ええ、正確にボックス化されたバニラ Rails ではありませんが...)

ビュー/管理者 (/views/app/manifest.coffee.js) のスタブ マニフェストは次のとおりです。

私が言ったように、開発環境では、まったく問題はありません。アセット パイプラインはオンザフライでコンパイルされ、すべてが優れています。実行中、rake assets:dev マシンでプリコンパイル、どちらも問題ありません。

それを本番マシンに送信し、まったく同じコードを実行すると、次のようになります。

require_tree 引数はディレクトリでなければなりません

ここには、私が見ていない小さな小さな違いがあるはずです。どんな助けでも大歓迎です!

0 投票する
0 に答える
935 参照

ruby-on-rails-3.1 - すべてのメモリを使い果たしながら、Rails 3.1 でアセット コンパイルの rake タスクを最適化する方法は?

生産ボックスは Linode で 768MB ノードです。Rails 3.1 アプリをデプロイすると、アセットのコンパイルが行われ、Rails アプリ env が読み込まれた状態で他の 2 つの rake タスクが呼び出されます。

したがって、1 つのタスクがメモリの 30% を占有しているため、3 つのタスクがメモリの 90% になり、capistrano コマンドはzlib(finalizer): the stream was freed prematurely.エラーで終了します。

もう一日食べてしまったのでイライラします!!

0 投票する
5 に答える
27000 参照

ruby-on-rails - スプロケット ファイルが見つからないという例外

Rails のサンプル アプリケーションをいくつか試していました。いくつかのコントローラーとページを作成しました。しかし、それらの1つにアクセスしようとすると、Webページで例外が発生します:



次のコマンドを使用していくつかのコントローラーを作成しました。

問題がどこにあり、どこを見ればよいか知りたいですか?URL でページにアクセスしています: http://localhost:3000/pages/home

0 投票する
1 に答える
1008 参照

ruby-on-rails-3 - スプロケットとレール 3 - 新しいプリコンパイル済み js ファイルの追加

私は現在app/assets/javascripts/application.js、必要なもののリストを含むファイルを持っています。このファイルは、rake assets:precompileクリーンアップを実行すると、リストされたすべてのファイルを縮小して連結しますpublic/assets/application.js。それはすべてうまくいっています。

ただし、'show_tale.js' という別のプリコンパイル済み js ファイルを追加し、プルする js ファイルの別のリストを追加したいと考えています。require のリストを含むshow_tale.jsファイルを追加しapp/assets/javascriptsました。しかし、私がそうすると、私が望むようにファイルを rake assets:precompile構築しません。public/assets/show_tale.js

一部の構成ファイルで、「show_tales」または「show_tales.js」をリストまたはオプションに追加する必要があると推測していますが、どこで/どのようにこれを行うかがわかりません。誰でも私を正すことができますか?

ありがとう、マックス

0 投票する
1 に答える
308 参照

javascript - Rails 3.1.0 でスプロケットを使用して脊椎モバイルが必要

Rails 3.1.0 で、spine 用のモバイル ライブラリを使用したいと考えています。index.js.coffee に以下を追加してみました:

しかし、どちらもエラーになります: ファイルが見つかりませんでした

hem を使用する場合、slug.json ファイルで依存関係を指定して実行できます。

Rails/Sprockets を使用して依存関係をインストールするにはどうすればよいですか?

0 投票する
2 に答える
1445 参照

ruby-on-rails-3 - Rails 3.1 でリクエストごとにカスタム変数を使用して Sass をコンパイルする

Rails 3.1 アプリでは、1 つのコントローラーで、一連のカスタム変数を使用して、要求ごとに必要な Sass スタイルシートをすべてのビューでコンパイルする必要があります。理想的には、コンテンツ ベースのアセット名 (コンテンツの MD5 ハッシュを含むもの) が生成されるように、アセット パイプラインを介してコンパイルを行う必要があります。ソリューションでは、Sass スタイルシートの ERB 処理などに頼るのではなく、純粋な Sass 機能を使用することが重要です。

私がここや他の場所で行った調査から、次の方法が可能なアプローチのようです。

  1. 変数アクセスの設定

    • たとえば、 Konstantin Haase がここ ( gist )説明しているように、カスタム Sass 関数を使用して、ある種の変数アクセサー ブリッジを作成します。これはかなり簡単にできそうです。

    • Sassパーシャルを介してすべての変数アクセスを構成します。たとえば、_base.sassコンパスの方法です。パーシャルは、上で定義したカスタム関数を使用できます。また、簡単です。

  2. すべてのアセット参照をキャプチャ

    • asset_pathビューオブジェクトのメソッドをデコレートします。私はこれをうまく機能させています。

    • のカスタム サブクラスを使用して参照を解決しますSprockets::Environment。これもうまく機能しています。

  3. ファイルの変更時間に関係なく、アセットの再コンパイルを強制する

    • 私はまだこれに対する良い解決策を見つけていません。

    • Sass::Engine新しいをインスタンス化し、 で利用できるようになるカスタム データを渡すことで、Sass 処理を手動で開始する例を見てきましたSass::Script::Functions::EvaluationContext。このアプローチの問題点は、ファイルの命名とパスを自分で管理する必要があり、常に Sprockets の機能から逸脱する可能性があることです。

    • ファイルの mod 時間に関係なく、リクエストごとに Sprockets の処理を​​強制する例を見つけることができませんでした。これにより、カスタム変数の受け渡しも可能になります。

一般的なアプローチに関するコメントと、(3) を最適に処理する方法に関する特定のポインター/提案​​をいただければ幸いです。