問題タブ [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.
ruby-on-rails - Rails 3.1 CSSファイルを2回ロードしますか?
Rails3.1RCを使用しています。アセットパイプラインを介さずに、CSSを手動でロードしたかったのです。
私はこのように、そして手書きのタグでそれを試しました:
何らかの理由で、FireBugはglobal.cssファイルに対する複数のgetリクエストを表示します。
Railsのバグ?私はバカですか?
誰かが疑問に思っている場合-私はCSSEditを頻繁に使用しているため、アセットパイプライン内のファイルを操作できませんでした。
ruby-on-rails - Rails 3.1: public ディレクトリは js アセットを提供しなくなりました。ページがロードされた後に追加のjsファイルをロードする方法は?
最初のページの読み込み後にサーバーから別の js ファイルを読み込む jQuery プラグインを使用しています。Rails 3.1 ではすべての js アセットが連結され、パブリック ディレクトリは js アセットの提供に使用されないため、このファイルを参照するにはどうすればよいですか? どこに置くの?
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では特定のファイルを名前で含めるのが一般的ですよね?)、ばかげたことをしているに違いないので、私はばかげているように感じますか?
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によってパッケージ化された大量のファイルに含まれている場合でも同様です。id
class
id
class
application.js
上記のソリューションには、100ページのうち8ページに検索ボックスが含まれている場合、それらの8ページでのみ実行されるという利点があります。また、サイトの8ページに同じコードを含める必要はありません。実際、サイトに手動のスクリプトタグを含める必要はもうありません。
これが私の質問に対する実際の答えだと思います。
ruby-on-rails - Rails3.1.rc1のjavascriptアセットでパスを使用する
myjavascript.js.erb
アセットパスにファイルがあります。これは、プロジェクトに関連するすべてのjavascriptなどを配置する場所です。
私が理解しているように、railsは最初にこのファイルをerbインタープリターに通し、次に結果のJSファイルをロードします。
ファイルに次の行があります
これでプロジェクトのルートパスがログに記録されることを期待していましたが、残念ながら、それは私を取得するだけのようです
確かに、これは私のプロジェクトのルートを指しているはずですか?私は何か間違ったことをしていますか?
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ファイルが正しく読み込まれるようにするために、次に進むべき場所についてのガイダンスをいただければ幸いです。
ありがとう!
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 から読み込むことで、この問題を修正しました。
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
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 などの多数の組み合わせを試しましたが、うまくいかないようです。
「提供」を台無しにする必要があるかどうか疑問に思っていますが、必要なドキュメントが見つからないようです。