我的模特中有学生,用户(老师)和课程。用户有很多课程以及教师有很多课程。当然,每节课都属于用户和学生。
鉴于此数据关联,如何使用销毁操作删除课程(由按钮调用)?
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>
答案 0 :(得分:2)
您可能在路由定义中使用resources :lessons
(默认情况下由rails scaffold生成)并将destroy操作映射到DELETE
http动词,因此您应该使用正确的动词(通过{{1} })以及正确的url(传递:method
实例):
Lesson
答案 1 :(得分:1)
如果您将路线定义为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
操作。