Frage

Ich versuche, jQuery zu verwenden, und alles ist großartig, bis jetzt, wenn ich einen Teil zu machen bin versucht, und es zu einem div anhang. Hier ist, wie ich es einrichten:

Ich habe eine Aktion, die auf js antwortet:

def index
  @objects = Object.find(:all)

  respond_to do |format|
    format.js
  end
end

Und eine Vorlage mit einiger Javascript in nannte es index.js.erb:

alert("hello world");

Firebug gibt eine "text / javascript" Antwort enthält:

alert("hello world");

Aber das Alarmfenster nicht erscheint, auch nicht andere JavaScript Arbeit. I checked out http://railscasts.com/episodes/136-jquery Und ist mehr oder weniger folgende entlang. Ich habe versucht, einige andere Dinge, wie .rjs statt .erb mit und setzen dieses in meiner Vorlage:

page.alert("hello world"); 

aber ich habe exakt das gleiche Ergebnis, und der Browser ausgeführt werden nie die JS.

Wer weiß, warum die JavaScript nicht ausgeführt werden?

Ich bin mit Rails 2.3.4.

War es hilfreich?

Lösung

Sie haben es aus Ihrer Sicht nennen oder es wird nie ausgeführt werden.

ein Beispiel Controller:

def index
  @objects = Object.find(:all)

  respond_to do |format|
    format.js{
      render :text => "alert('hello')"
    }
  end
end

und ein index.html.erb mit:

<script type="text/javascript">
  $(function(){
    $.ajax({ url: '/controller', type: 'get', dataType:'script' });
  });
</script>

ersetzen ‚/ Controller‘ mit der tatsächlichen URL, die diese Index Aktion des Controllers ausgeführt wird, die standardmäßig für Posts wird es ‚/ posts‘ und so weiter ...

Wenn Sie rjs mögen löschen Sie die {} und everithing in es in der Steuerung und erstellen Sie eine index.js.erb oder index.rjs mit:

page.alert("hello world")

oder:

page << "hello world"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top