3

私はRuby on Railsが初めてです。link_to と remote=true を使用して ajax がレール上でどのように機能するかを理解するために、チュートリアルに従っています。私は次のコードを持っています。

// in view/home/sample.html.erb

<head> <%= javascript_include_tag "prototype.js" %> </head>
<body>
<div id="time_div">
 <%= link_to("click here",  :update=>'time_div' ,:url=>{:action => :say_when} , :remote => true) %>
</div>
</body>

// in /controllers/home_controller.rb

def sample
end

def say_when
   render_text "<p>The time is <b>" + DateTime.now.to_s + "</b></p>"
end

プロトタイプ.jsをassets/javascriptsフォルダーに入れました。しかし、私はブラウザで時間を取得していません。誰か助けてください

4

1 に答える 1

1

divAjax リクエストの結果でコンテンツを更新する JavaScript がありません。次のように試すことができます:

say_when.js.erb以下の内容で作成

$("time_div").update('<%= escape_javascript("<p>The time is <b>#{DateTime.now.to_s}</b></p>")%>');

コントローラーからメソッドを削除できます。say_whenコードはもう必要ありません。Rails はsay_when.js.erbファイルを直接呼び出します。

この#205 Unobtrusive Javascript Railscastを見てください。

于 2013-03-17T18:25:41.180 に答える