🐕

各ステータス更新の作成方法

2023/07/27に公開

🍍やりたいこと


注文ステータスと制作ステータスそれぞれ更新できるようにしたい。

🍍作成

注文ステータス

view/admin/orders/show.html.erb
 <%= form_with model:@order, url: admin_order_path(@order), method: :patch do |f| %>
                     <%= f.select :status,Order.statuses.keys.map %>
                     <%= f.submit '更新', class:"btn btn-outline-success" %>
 <% end %>
controllers/admin/orders_controller.rb
def update
   @order = Order.find(params[:id])
   @order.update(order_params)
   redirect_to admin_order_path(@order)
end

private
 def order_params
   params.require(:order).permit(:status)
 end

解説


制作ステータス

view/admin/orders/show.html.erb
<%= form_with model: item, url: admin_order_detail_path(item.id), method: :patch do |f| %>
  <%= f.select :making_status, OrderDetail.making_statuses.keys.map  %>
  <%= f.submit '更新', class:"btn btn-outline-success"  %>
<% end %>
controllers/admin/order_details_controller.rb
def update
   @order_detail = OrderDetail.find(params[:id])
   @order_detail.update(order_detail_params)
   redirect_to admin_order_path(@order_detail.order)
end


private
  def order_detail_params
    params.require(:order_detail).permit(:making_status)
  end

解説


Discussion