У меня есть имя метода метода process_message
, и его целью является подписание людей до определенных групп в зависимости от того, какое сообщение оно получает. Сейчас все работает отлично, за исключением того, что он снова и снова будет регистрировать человека в той же группе. Я пытаюсь добавить некоторый быстрый код, чтобы сделать это, чтобы они могли только подписываться на определенную группу один раз. Я подумал, что я понял это, но я получаю сообщение об ошибке, когда пытаюсь выполнить то, что я написал. Ill показать некоторые скриншоты и некоторый код для ясности.Действия контроллера, вызывающие ошибку
Вот мой метод контроллера
def process_message
if message_params[:action] == 'subscribe'
# result = SubscribeToGroup.call(message_params)
# results.success? ? result.message : result.error
message_params[:id] = "visitor" if message_params[:id] == "tulip" # hack for now
@group = Group.find_by(name: message_params[:id])
if @group && @subscriber.groups << @group unless groups.include? (@group) ^
@group.response
else
'You cannot subscribe to unknown group'
end
elsif message_params[:action] == 'stop'
# result = UnsubscribeToGroup.call(message_params)
# results.success? ? result.message : result.error
group_name = message_params[:id]
@group = @subscriber.groups.find_by(name: group_name)
@subscriber.groups.destroy(@group) if @group
"You are now unsubscribed from #{group_name.upcase} notifications. Text '#{group_name.upcase}' to start receieving updates again."
else
"Sorry, we don't recognize that command."
end
rescue Exception => e
"Something went wrong. Try again. #{e.message}"
end
Вы можете увидеть на 7-й линии у меня есть некоторый код, то, что я думал, что будет держать сообщение от подписания лицо два раза, но это не работает, и здесь сообщение об ошибке при запуске Rspec.
Я надеюсь, что моя проблема ясна, дайте мне знать, если вам нужно больше кода.
Может быть? Я получаю «неопределенный метод» << »для false: FalseClass' now – Bitwise
Обновленный ответ. –
Спасибо за помощь Энтони, но я все еще получаю сообщение об ошибке, в котором говорится, что группы - это неопределенная локальная переменная. – Bitwise