Имам таблица „Харесвания“ с колони business_id, user_id и liked(0,1) и функция „change_like_status“.
Сега при всяко извикване на функция, ако стойността е 1, тогава я настройте на 0 (или обратно) и ако записът не съществува, тогава създайте такъв със стойност 1.
Методът first_or_create работи добре, но как мога да превключвам стойността на колона „харесвано“, докато използвам този метод?
Ето моята функция:
def change_like_status
if current_user.present?
status = Like.where("business_id = ? AND user_id = ?",params['id'],current_user.id).first_or_create(:business_id => params['id'],:user_id => current_user.id,:liked => '1')
abort status.inspect
else
return render :json => {:status => false,:msg=>"You need to sign in before performing this action."}
end
end