変数 = 《Model》.find( ID );こうしてデータを取得したら、その内容を更新します。更新は、「update_attributes」というメソッドを用いるのが一般的です。これは、newと同様に、保管する値を引数に記述して呼び出すことができます。
《Model》.update_attributes(《オプションの指定》)オプションは、保管するプロパティ(テーブルのフィールド名)と値を「○○ => '△△'」という具合にまとめて記述します。例えば、Heloモデルクラスならこんな具合ですね。
《Helo》.update_attributes(:title => 'タイトル', :content => 'コンテンツ')それぞれ「:オプション名 => '値'」というような形で記述されているのがわかるでしょう。これさえきちんと呼び出せれば、後は何もいりません。newがわかっていればそれほど悩むこともないですね。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※edit.html.erbのソースコード <p><%= @msg %></p> <hr> <form method="post" action="/helo/update"> <input type="hidden" id="id" name="id" value="<%= @helo.id %>"> <table> <tr> <td>ID:</td> <td><%= @helo.id %></td> </tr> <tr> <td>title:</td> <td><input type="text" id="title" name="title" size="40" value="<%= @helo.title %>"></td> </tr> <tr> <td>content:</td> <td><textarea id="content" name="content" cols="40" rows="3"><%= @helo.content %></textarea></td> </tr> <tr> <td></td> <td><input type="submit"></td> </tr> </table> </form> ※edit/updateアクションメソッド def edit @title = "サンプルレイアウト" @header_content = "データの更新" @msg = "データの更新を行います。" @helo = Helo.find(params['id']) end def update title = params['title'] content = params['content'] obj = Helo.find(params['id']) obj.update_attributes(:title => title, :content => content) redirect_to obj end
<< 前へ | 次へ >> |