我試圖插入行的連接表中,我創建了這個遷移(時間戳):Rails的手柄連接表UniqueViolation
class CreateUserNewsItemJoinTable < ActiveRecord::Migration
def change
create_join_table :users, :news_items do |t|
t.timestamps
end
add_index :news_items_users, [:user_id, :news_item_id], unique: true
end
end
我這是怎麼插入NewsItem到用戶:
@user.news_items << @news_item
第一次,插入成功。但是如果我再次插入相同的記錄,它將顯示UniqueViolation。
如何使相同的插入,更新時間戳,而不是拋出UniqueViolation錯誤?
你正在嘗試做的* UPSERT *。這不像你想象的那麼簡單。對於一些非Rails特定的信息,請參閱http://stackoverflow.com/q/17267417/398670 – 2014-09-03 09:39:35