1
私はレールとjqueryを使って開発していて、何日もの間これを行う方法の簡単な例を探していました。私は特定の日付の顧客の太陽光発電システムの電力出力を示すページpoweroutput.html.erb
を持っています。彼らは別の日付を入力するときに、私はそれらを別の出力を見てもらいたいが、ページをリロードする必要はありません。次のようにRailsとjQuery:ページ上のJavascriptがリロードされていますが、実行されていません
<head>
<script type="text/javascript">
<%= render "pages/poweroutputscript" %> # renders a partial containing all my js
</script>
</head>
# a form is here on this page too
マイページのコントローラのアクションは、現在、次のとおりです:
次のように私のページでは、私はいくつかのJavaScriptだけでなく、(ユーザが電源出力を見たい日付を提出するための)形を持っていますdef poweroutput
# some code
if request.xhr?
@date = params[:dt] # dt is posted when form is submitted
else
@date = Time.now.getlocal.strftime("%d.%m.%Y")
end
respond_to do |format|
format.html
format.js { render :action "pages/poweroutput.js.erb" }
end
end
そしてpoweroutput.js.erb次のとおりです。
$("script").html("<%= escape_javascript render "pages/poweroutputscript" %>");
ようになり、フォームが正常に送信し、私は私のスクリプトタグ間のJSが実際に担当されていることをFirebugの上で見ることができます新しいjsと紐を張った。しかし、私のブラウザのビューはそれに応じて更新されていません。私は間違って何をしていますか?
はい!これはうまくいった!ありがとうございました!私は数日間このことについて涙が出てきた。 – pitachip
replaceWithが動作した後、Firebugは