Ruby on Rails(PicTweet) ツイートの編集編
ツイートの編集機能を実装します。editとupdateが該当します。
編集の考え方は「editアクションで編集ページを表示」→「updateアクションでデータの更新」といった流れで実装する。
resourcesでeditを追加することで、編集画面への遷移ができる。
次に編集ボタンを投稿ボタンに追加する。
これは削除ボタンと同じようにlink_toメソッドを使用する。
<li>
<%= link_to '編集', edit_tweet_path(tweet.id), method: :get %>
</li>
次にeditアクションをコントローラーに定義する
新規投稿時と異なる点は編集→更新の場合はすでに存在しているレコードを選択して中身を置き換えるという点である。
def edit
@tweet = Tweet.find(params[:id])
end
編集画面のビューを作成する
入力情報の送信先は/tweets/編集するツイートのidとなる。
updateアクションのルーティングを設定する
ツイートを更新する際には、/tweets/<<編集するツイートのID>>にPATCHメソッドでアクセスする
このパスにアクセスした際、tweetsコントローラーのupdateアクションが実行される
このとき、updateアクションのルーティングを設定しておく
このupdateアクションも、destroyアクションと同様、ビューファイルへツイート情報を受け渡す必要がないため、インスタンス変数は使用しない