« 小峰シロって。 | トップページ | 4年ぶりに「御神渡り」出現 長野・諏訪湖 (日テレNEWS24) »

Rubyの魔法に惑わされる日々。

Ruby on RailsのActiveResource & Restfulなコーディングをマスターするぜ!と泥沼にハマるなど。

問題としては、世間がRails 3.1の時代にあってやっとRails2.xを見始めたところにあるような気がしないでもないのだけど。だってメンテしてるアプリRails1.xなんだもん!Rails3.xはOS自体が受け付けないんだもん!!

もとい。

ざっくり世の中の資料によるとAcitveResourceにお任せ設計したRailsでのレコード更新は、

<% form_for @record % do |f| %>...<% end %>

としておけば、@recordにidがあったらPUTでupdateメソッドを叩きに行き、@recordにidが無かったらPOSTでcreateメソッドを叩きに行く…らしいのだけど。

今使っているRails2.3.14でこの書き方をやると、PUTでupdateを叩くのまでは良いのだけど、params[:id]が無くなってしまった。色々試行錯誤した結果として、

<% form_for @record :url => {:action => :update, :id => @record.id} do |f| %>

とするとようやくまともな動きをするように。ちなみに:actionをさぼるとPUTでeditを叩きに行く気配。

editメソッドを叩くURLの生成も

<%= link_to( 'Edit', edit_record_url( @record ) ) %>

では駄目で、

<%= link_to( 'Edit', edit_record_url( :id => @record ) ) %>

としないといけない。

どうも過渡期のRailsを使い始めてしまった気がしないでも無いけど、ここらへんの差異は資料が見つかりにくいというか魔法が効きすぎてかえって解除に手間取る気がする。

てか、form_forに至っては開発環境でri form_for して出てくる説明と実動作が合っていないので、あたしの環境はドキュメントとコードがずれているような気もする…。

« 小峰シロって。 | トップページ | 4年ぶりに「御神渡り」出現 長野・諏訪湖 (日テレNEWS24) »

パソコン・インターネット」カテゴリの記事

プログラミング」カテゴリの記事

Ruby」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Rubyの魔法に惑わされる日々。:

« 小峰シロって。 | トップページ | 4年ぶりに「御神渡り」出現 長野・諏訪湖 (日テレNEWS24) »

無料ブログはココログ
2021年10月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31