我創造一個像模型到我的Rails應用程序。路由是:銷燬對象,而它的ID
resources :bonuses, only: %i(index create) do
resources :likes, only: %i(create destroy)
end
我做了一個類似的創建,現在試圖製作一個不喜歡的按鈕。 我想通過這個按鈕來刪除,如:
= link_to "Dislike", bonus_like_path, method: :delete
但我在這裏得到錯誤:缺少必需的鍵:[:bonus_id,:ID] 如果我通過bonus_like_path(獎金)我會懷念ID像參數(但我不需要他,我知道user.id)
要刪除這樣的,我需要知道的一切是bonus_id和current_user.id
schema.rb(喜歡)
create_table "likes", force: :cascade do |t|
t.integer "user_id", null: false
t.integer "bonus_id", null: false
t.index ["user_id", "bonus_id"], name: "index_likes_on_user_id_and_bonus_id", unique: true, using: :btree
end
的關聯很簡單:
加成:
has_many :likes, dependent: :destroy
has_many :liked_users, through: :likes, source: :user
用戶:
has_many :likes, dependent: :destroy
has_many :liked_bonus, through: :likes, source: :bonus
像:
belongs_to :bonus, counter_cache: true, touch: true
belongs_to :user
所以我知道我可以做DELETE bonus_like_path(bonus)
要求,因爲用戶在current_user
已定義。但不知道如何正確書寫。