Ich habe gerade dieses Problem in meinem Controller, und ich verstehe nicht, was los ist. Es gibt eine undefinierte Methode toggle!
für Like::ActiveRecord_AssociationRelation
: Oder für meine create Aktion funktioniert alles, aber nicht mit der Update-Aktion. Dies ist eine grundlegende wie Controller zu mögen und im Gegensatz zu einem Ereignis, jemand und so weiter.Nicht definierte Methode `toggle! ' für #: ActiveRecord_AssociationRelation:
class LikesController < ApplicationController
before_action :authenticate_user!
def create
@project=Project.find(params[:project_id])
@like= @project.likes.where(user:current_user).first_or_initialize(name:current_user.first_name)
@like.toggle(:heart)
@like.save
Notification.create(user:current_user, user_name: current_user.first_name, action:'like', recipient:@project.subject)
redirect_to project_path(@project)
end
def update
@project=Project.find(params[:project_id])
@like= @project.likes.where(user:current_user)
@like.toggle(:heart)
@like.save
Notification.create(user:current_user, user_name: current_user.first_name, action:'Unlike', recipient:@project.subject)
redirect_to project_path(@project)
end
end
Ich denke, dies: '@ wie = @ project.likes.where (user: current_user) .first' sollte funktioniert gut. –
sollten Sie Toggle von '@ like.first.toggle (: Herz)' oder 'Like.toggle (: Herz)' –