Rails を使用したアジャイル Web 開発に取り組んでいます
パート E3 では、次のメソッドを置き換えるように指示されています。
def destroy
@cart = Cart.find(params[:id])
@cart.destroy
と
def destroy
@cart = current_cart
@cart.destroy
どこ
def current_cart
Cart.find(session[:cart_id])
rescue ActiveRecord::RecordNotFound
cart = Cart.create
session[:cart_id] = cart.id
cart
end
私の質問は、最初の方法よりも 2 番目の方法を使用する利点は何ですか? 2番目が失敗する状況は見当たりませんか? これは、次からメソッドを呼び出しています。
<%= button_to 'Delete Cart', method: :destroy %>
カートビュー内から。暗黙的に常に正しいcart_idを渡しませんか?? それとも、たとえば別のビューからカートを削除しようとしている場合など、将来の使用のために破棄するためのこの変更ですか? この後者の説明が正しい場合、ID を常に :session ハッシュに格納する必要がありますか?
ご協力いただきありがとうございます。