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) »
「パソコン・インターネット」カテゴリの記事
- ARROWS Xがこの上ないほどに駄々をこねる。(2012.03.05)
- “Office 2010”に対応した「Office 2007-2010 オールドスタイルメニュー」(2012.02.23)
- Mac OSの名前が。(2012.02.20)
- ところで今日の朝ARROWS Xが。(2012.02.11)
- ARROWS X LTE(ざっくり2.5週間くらい経過)(2012.02.10)
「プログラミング」カテゴリの記事
- Android端末を買い替えた時のEye-fiとSugarSyncの悩ましい挙動。(2012.02.10)
- Rubyの魔法に惑わされる日々。(2012.02.02)
- そしてARROWS X LTE F-05D。(2012.01.29)
- 自宅サーバのLennyなDebianをアップデート…したいの(希望)(2012.01.22)
- 本日の教訓。(2012.01.13)
「Ruby」カテゴリの記事
- Rubyの魔法に惑わされる日々。(2012.02.02)
- 本日の教訓。(2012.01.13)
- Radiant CMSで構築しているサイトをgit管理しようとしてハマる。(2011.12.10)
- Ruby on Railsアプリで2つめのDBを使う。(2011.11.20)
- Ruby on Railsでコンソールアプリを作る。(2011.11.20)
この記事へのコメントは終了しました。
コメント