私はwork_historiesのフォームを持っています。ユーザーが作業履歴を削除すると、このコントローラアクション(work_histories#show)を呼び出すuser_work_histories_urlの代わりに、ユーザーのプロフィールページにリダイレクトされます。 user_path(@user)というユーザーのプロファイルページにリダイレクトしたかったのです。railsは破壊操作後にユーザーをプロフィールページにリダイレクトします
user_work_histories_urlの代わりにuser_path(@user)にリダイレクトするようにwork_histories destroyアクションを変更しようとしましたが、削除したばかりのジョブのIDが見つかりませんでした。
ここwork_histories
# DELETE /users/:user_id/work_histories/:id
def destroy
@work_history = WorkHistory.find(params[:id])
@work_history.destroy
respond_to do |format|
format.html { redirect_to user_work_histories_url,
notice: "The work history for your #{@work_history.job_title.upcase} job was successfully destroyed." }
format.json { head :no_content }
end
end
のための私のコントローラは、ここでwork_histories
<p id="notice"><%= notice %></p>
<p>
<strong>Job Title:</strong>
<%= @work_history.job_title %>
</p>
<p>
<strong>Job Description:</strong>
<%= @work_history.description %>
</p>
<%= link_to 'Back', user_work_histories_path(@user) %> |
<%= link_to 'Edit', edit_user_work_history_path(@user, @work_history) %> |
<%= link_to 'Delete', user_work_history_path(@user, @work_history), method: :delete,
data: { confirm: 'Are you sure you want to delete this work history?' } %>
を維持していますか?おそらく、レコードを削除する前に通知メッセージを作成する必要があります。 – Smek