[英]Rails - Destroy action in Controller
我的模型中有學生,用戶(老師)和課程。 用戶的has_many課和老師的has_many課。 當然,每節課都屬於用戶和學生。
給定此數據關聯后,如何使用銷毀操作刪除課程(由按鈕調用)?
def destroy
Lesson.destroy(params[:id])
redirect_to lessons_path
end
我的架構
create_table "lessons", force: true do |t|
t.integer "student_id"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "cancelled"
t.boolean "late"
t.boolean "reschedule"
t.integer "room"
t.string "day"
t.datetime "start_time"
t.datetime "end_time"
end
調用動作的按鈕
<span><%= link_to 'Destroy', lessons_path, class: 'btn btn-danger' %></span>
您可能在路線定義中使用了resources :lessons
(默認情況下由rails scaffold生成),並且將destroy動作映射到DELETE
http動詞,因此您應該使用正確的動詞(通過:method
)和正確的url(傳遞Lesson
實例) ):
link_to 'Destroy', lesson_path(@lesson), class: 'btn btn-danger', method: :delete
如果您已將路線定義為resources :lessons
,則可以使用以下鏈接破壞特定lesson
<span><%= link_to 'Destroy', lesson_path(lesson), method: :delete, class: 'btn btn-danger' %></span>
lesson
(在lesson_path(lesson)
)是Lesson
模型的實例。 另外,您需要在鏈接上使用method: :delete
指定HTTP方法DELETE ,以便鏈接以RESTful方式路由到正確的destroy
動作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.