※ ChatGPTを利用し、要約された質問です(原文:Rails 3 での動的更新について)
Rails 3での動的更新について
このQ&Aのポイント
Ruby on Rails 3 を利用してウェブ開発をしているが、Rails 2 の時の動的更新ができない。
動的更新とは、入力があるとそれを検知し、処理を呼び出して結果をページの一部として表示すること。
Rails 2 では JavaScript を使用していたが、Rails 3(jQuery)では方法が異なる。
Ruby on Rails 3 を利用してウェブ開発をしているのですが、Rails 2 の時に利用できた動的更新が出来なくて困っています。
今回の質問の動的更新とは、テキストフィールドなどに入力があるとそれを検知して、コントローラー内の処理を呼び出して結果をページの一部として表示する、というものです。
Rails 2 の時には以下のようにしていました。
<script language="JavaScript">
<!--
function ShowRule()
{
$("#show_value").load("/[コントローラー名]/[メソッド名]?[パラメーター]="+document.[フォーム名].[ポスト名].value);
}
//-->
</script>
値を返したい部分に <div id="show_value"></div> を置き、入力を監視したい項目に :onclick => "ShowRule()" のオプションをつけていました。
同じように記述したのですが、Rails 3(というか jquery)だと上手く動きません。上記のような処理を jquery で行う方法をご教授ください。
よろしくお願い致します。
お礼
お礼が遅れて申し訳ありませんでした。 教えて頂いた事項を試すうちに、form のパラメータの与え方が、Rails 2 と 3 とで違うことが分かりました。具体的には <%= form_tag({:action => :regist,:name => "regist"},{:multipart => true}) do -%> と記述していたのは <%= form_tag({:action => :regist},{:name => "regist",:multipart => true}) do -%> と記述する必要がありました。 ヒントを与えていただきありがとうございました。