Я создаю модель LIKE для моего приложения 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,: идентификатор] Если я прохожу 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
Ассоциации просты:
Bonus:
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
Так что я понимаю, что я могу сделать УДАЛИТЬ bonus_like_path(bonus)
запрос, потому что пользователь уже определен в current_user
. Но не знаю, как правильно писать.