私のアプリはワークアウト スケジューラです。
クライアントは通常、特定の日に 3 つのタイムスロットのいずれかでワークアウトを行うため、朝、正午、または夜のワークアウトをスケジュールするためのクイック追加機能を提供しています。
コードは機能していますが、正しい方法で実行しているとは思いません。
私のルートは次のとおりです。
match 'workouts/quick_add/:date/:timeslot' => "workouts#quick_add",
:as => 'workout_quick_add'
私はこのようなものを介して使用します:
<%= link_to 'Morning Workout', workout_quick_add_path(:date => day, :timeslot => 'morning') %>
これは、リクエストが GET 経由で着信した場合に機能しますが、HTTP プロトコルのメソッド定義に基づいて正しくないようです。POST または PUT が正しいように思えますが、ルートに:via => :post
またはを追加:put
すると、ルーティング エラーが発生して全体がバグります。
ここで何が正しいのか、この種の関数を実装する正しい方法は何ですか?