3

目立たない js ファイルをビューにリンクする際に問題が発生しました。

index.html.erb という名前のビューがあります

...
<div id="fooBar">say bye!</div>
...

また、jsファイルindex.js.erbを持っています

$("#fooBar").html("say hello!")

現在、javascript ファイルが実行されていないため、say bye メッセージが表示されます。

私が間違っていることは何ですか?

js.erb はその目的には使用されていないようです。ビュー固有のクライアント ロジックが保持されている通常の .js ファイルにスクリプト参照を追加するだけです。

ありがとう、アレクセイ

4

3 に答える 3

2

コントローラーで render_with :js を指定しましたか?

残念ながら、そこにスクリプトを記述した方法は実際には機能しません。レンダリングできるのは、html または js の 1 つだけです。Rails UJS では、(たとえば) [表示] をクリックすると、JS を動的にレンダリングするか、HTML でレンダリングするかによって決定されます。一度に 2 つのものをレンダリングすることはできません。

これを試してください: http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/

于 2010-08-19T17:19:44.787 に答える
1

要素またはドキュメントがロードされた後にそれを実行していますか?

試す

$(function() {
    $("#fooBar").html("say hello!")
});

そうであるように見えるjQueryを使用していると仮定します。

于 2010-08-19T06:34:25.253 に答える
1

ありますか

<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>

あなたのviews/layouts / application.htmlに?後者を忘れたため、JSの問題が発生しました(Rails 3のみ)。

于 2010-08-19T11:45:09.063 に答える