問題タブ [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 に答える
1053 参照

ruby-on-rails - Rails 3.1 CSSファイルを2回ロードしますか?

Rails3.1RCを使用しています。アセットパイプラインを介さずに、CSSを手動でロードしたかったのです。

私はこのように、そして手書きのタグでそれを試しました:

何らかの理由で、FireBugはglobal.cssファイルに対する複数のgetリクエストを表示します。

ここに画像の説明を入力してください

Railsのバグ?私はバカですか?

誰かが疑問に思っている場合-私はCSSEditを頻繁に使用しているため、アセットパイプライン内のファイルを操作できませんでした。

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

ruby-on-rails - Rails 3.1: public ディレクトリは js アセットを提供しなくなりました。ページがロードされた後に追加のjsファイルをロードする方法は?

最初のページの読み込み後にサーバーから別の js ファイルを読み込む jQuery プラグインを使用しています。Rails 3.1 ではすべての js アセットが連結され、パブリック ディレクトリは js アセットの提供に使用されないため、このファイルを参照するにはどうすればよいですか? どこに置くの?

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

ruby-on-rails-3 - Rails 3.1 アセット パイプラインと手動で注文した Javascript が必要です

既存のアプリを新しい 3.1 アセット パイプライン レイアウトに変換しようとしており、特定の順序にする必要がある多くのベンダー ファイルを含めたいと考えています (underscore.js とバックボーンが 1 つのペアです)。そのため、a を使用= require_tree .してベンダー ファイルを取り込むことはできません (各ファイルの名前をプレフィックスで変更する必要はありません。うーん)。

以下は私のapp/assets/javascripts/application.jsファイル内にあります:

拡張機能の有無、require_tree の有無、および相対パスの有無のすべての組み合わせを試しましたが、何も機能しません。私のベンダー ファイルはすべて/vendor/assets/javascripts/.

これは非常に明白なユースケースのように見えるので(JSでは特定のファイルを名前で含めるのが一般的ですよね?)、ばかげたことをしているに違いないので、私はばかげているように感じますか?

0 投票する
29 に答える
80889 参照

javascript - Rails 3.1を使用して、「ページ固有の」JavaScriptコードをどこに配置しますか?

私の理解では、すべてのJavaScriptが1つのファイルにマージされます。Railsは、マニフェストファイル//= require_tree .の最後に追加するときに、デフォルトでこれを行います。application.js

これは実際の命の恩人のように聞こえますが、ページ固有のJavaScriptコードについて少し心配しています。このコードはすべてのページで実行されますか?最後に必要なのは、1ページでのみ必要な場合に、すべてのオブジェクトをすべてのページでインスタンス化することです。

また、コードが衝突する可能性もありませんか?

scriptまたは、ページの下部に、ページのjavascriptコードを実行するメソッドを呼び出すだけの小さなタグを付けますか?

では、require.jsはもう必要ありませんか?

ありがとう

編集:私はすべての答えに感謝します...そして私は彼らが本当に問題に取り組んでいるとは思いません。それらのいくつかはスタイリングに関するものであり、関連していないようです...そして他の人はただ言及していjavascript_include_tagます...私が知っていることは(明らかに...)ですが、今後のRails3.1の方法はすべてをまとめることであるように見えます各ページの下部に個別のJavaScriptをロードするのではなく、JavaScriptを1つのファイルにロードします。

私が思いつくことができる最善の解決策は、特定の機能をsまたはesのdivタグでラップすることです。JavaScriptコードでは、またはがページ上にあるかどうかを確認し、ある場合は、それに関連付けられているJavaScriptコードを実行します。このように、動的要素がページにない場合、JavaScriptコードは実行されません。これは、Sprocketsによってパッケージ化された大量のファイルに含まれている場合でも同様です。idclassidclassapplication.js

上記のソリューションには、100ページのうち8ページに検索ボックスが含まれている場合、それらの8ページでのみ実行されるという利点があります。また、サイトの8ページに同じコードを含める必要はありません。実際、サイトに手動のスクリプトタグを含める必要はもうありません。

これが私の質問に対する実際の答えだと思います。

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

ruby-on-rails - Rails3.1.rc1のjavascriptアセットでパスを使用する

myjavascript.js.erbアセットパスにファイルがあります。これは、プロジェクトに関連するすべてのjavascriptなどを配置する場所です。

私が理解しているように、railsは最初にこのファイルをerbインタープリターに通し、次に結果のJSファイルをロードします。

ファイルに次の行があります

これでプロジェクトのルートパスがログに記録されることを期待していましたが、残念ながら、それは私を取得するだけのようです

確かに、これは私のプロジェクトのルートを指しているはずですか?私は何か間違ったことをしていますか?

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

ruby-on-rails - Ruby on Rails 3.1RC1Javascriptアセットパイプラインの問題

Rails 3.1にアップグレードしたばかりですが、新しいアセットパイプラインでJavascriptをロードする際に問題が発生します。

jsファイル(ファイル自体とその.minバリアントの両方)を/ app /assets /javascriptsディレクトリにコピーしました。application.jsマニフェストは次のとおりです。

しかし、これは機能していないようです。Easytabsが正しくロードされていません。不思議なことに、コンパイルされたapplication.jsファイルをコンソールで見ると、Easytabsコードが表示されますが、機能していません。

コードをapplication.jsファイルに直接貼り付けると、期待どおりに機能することがわかったので、スクリプトが機能していることがわかります。ただし、これはapplication.jsファイルの使用目的ではありません。

jsファイルが正しく読み込まれるようにするために、次に進むべき場所についてのガイダンスをいただければ幸いです。

ありがとう!

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

jquery - jQuery toggleClass('class', 1000) は 1 秒だけトグルし、1 秒のアニメーションではトグルしません。

jQuery UI のtoggleClass()で問題が発生しています。期間をオフのままにしておくと、期待どおりに動作しますが、指定された期間では、指定された期間だけクラスが適用され、クラスが削除されます。

次のコードは、jQuery と jQuery-UI の後に別のファイル (application.js) に読み込まれます。

Rails 3.1、Coffeescript および Sprockets 2 を使用しています。

これが私のコードの例です: http://jsfiddle.net/27rNG/

私が望む動作は次のとおりです。-ユーザーが画像にカーソルを合わせる-画像が少しアニメーション化する-ユーザーが画像をクリックする-画像がずっと下に移動する

toggleClass を正しく使用していませんか?

UPDATE : 使い方は正しいのですが、JQuery UI が正しく読み込まれませんでした。Rails 3.1 Sprockets ファイルとは別に JQuery UI を Google の CDN から読み込むことで、この問題を修正しました。

0 投票する
14 に答える
55195 参照

ruby-on-rails - Ruby on Rails 3.1 でアセット パイプライン (スプロケット) メッセージのロギングを無効にするにはどうすればよいですか?

Ruby on Rails 3.1 (RC1) では、スプロケットはデフォルトで (dev) ログで非常に詳細になる傾向があります。

冗長性のレベルを下げるか、完全に無効にしたいと思います。

ActiveRecord SQLステートメントを無音にする設定行をいずれかenvironment.rbまたはdevelopment.rb同様に追加することにより、ロギングの冗長性を無効化または削減するクリーンな方法があると思います。config.active_record.logger = nil

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

extjs - Extjs 4 と Rails 3.1 の統合 (アセット パイプラインに関する質問)

典型的な extjs サンプル アプリケーションには、次のようなファイルを参照して extjs ライブラリが含まれています。

ext-all.css ext-all.js

何百ものファイルを参照していることに注意して、これらのファイルを含める「レール 3.1 の方法」は何ですか? サブディレクトリ内のファイルの

(例: ext-4.0.2/resources/themes/stylesheets/ext4/default/_all.scss)

相対パスがあります:

(例: background-image:url('../../resources/themes/images/default/shared/shadow.png'))

require_tree などの多数の組み合わせを試しましたが、うまくいかないようです。

「提供」を台無しにする必要があるかどうか疑問に思っていますが、必要なドキュメントが見つからないようです。