railsのアプリケーションでgemのactive_decoratorを利用しています。
case文でクラスの定数によって条件付けしており、コードは下のような感じです。
def status case status when TestOrder::ORDERED link_to '依頼を受ける', agree_user_test_order_path(current_user, self), method: :post when TestOrder::AGREED link_to '依頼対応する', feedback_order_path(order) when TestOrder::REFUSED '依頼を断りました' when TestOrder::FEEDBACK_RETURNED link_to '詳細ページへ(依頼対応済)', order_path(order) end end
注目いただきたいのが、一つ目の条件なのですが、仕様として、ここにもう一つのリンクを追加したいです。
なぜかというと、ユーザーはこのタイミングでは依頼を受けるか、拒否するかを決められるためです。そうなると、
def status case status when TestOrder::ORDERED link_to '依頼を受ける', agree_user_test_order_path(current_user, self), method: :post link_to '依頼を断る', refuse_user_test_order_path(current_user, self), method: :post when TestOrder::AGREED link_to '依頼対応する', feedback_order_path(order) when TestOrder::REFUSED '依頼を断りました' when TestOrder::FEEDBACK_RETURNED link_to '詳細ページへ(依頼対応済)', order_path(order) end end
こんな感じで書きたくなるのですが、返り値が「依頼を断る」の方しか返ってこないです。依頼を受ける、断るの双方を返す方法が知りたいです。
何卒宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。