[英]In rails, how to destroy a 'join table item' with out deleting the real record?
[英]Rails - Create/Destroy record in join table
我正在處理此記錄的插入/刪除,我不確定執行查詢的語法是什么。
我有一個用戶模型和一個事件模型。 我創建了一個名為Personal的聯接表,該表存儲user_id和用戶喜歡的任何事件的event_id。
我在事件控制器中創建了一個“添加”方法,因此每當有人單擊它時,它就會運行並執行我現在要開發的創建邏輯。該操作與我添加到網格中顯示所有事件的額外列相關。
用戶模型=>
has_many :personals
事件模型=>
has_many :personals
個人模特=>
belongs_to :user
belongs_to :events
我以為那會是=>
@user = User.find(session[:user_id])
@event = Event.find(params[:id])
# Personal.new = User.Event?
有人可以幫忙嗎?
如果您使用的是has_and_belongs_to_many
關聯(很不幸),則刪除關聯的鏈接可能會很棘手,因為每個鏈接都沒有標識符。
使用has_many :through
關系更容易維護,並且可以執行以下簡單操作:
class User < ActiveRecord::Base
has_many :user_events
has_many :events,
:through => :user_events
end
@user.events.delete(@event)
這不會刪除Event本身,而需要Event#destroy
調用,但是會刪除鏈接兩者的聯接記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.