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アクションと同様、ビューファイルへツイート情報を受け渡す必要がないため、インスタンス変数は使用しない