我有一個控制器方法名稱process_message
,它的目的是根據收到的消息對人員進行特定組簽名。現在一切正常,除非它會一遍又一遍地向同一組簽名。我正在嘗試添加一些快速代碼,以便他們只能註冊一次特定組。我認爲我已經搞清楚了,但是當我嘗試執行我寫的內容時,我遇到了一個錯誤。爲了清晰起見,我會顯示一些截圖和一些代碼。提出錯誤的控制器操作
這裏是我的控制器方法
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時出現錯誤消息。
我希望我的問題是清楚的,讓我知道你是否需要再代碼。
也許?我得到了一個未定義的方法「<<」for false:FalseClass' now – Bitwise
已更新的答案。 –
感謝您的幫助安東尼,但我仍然收到一個錯誤,說組是一個未定義的本地變量現在 – Bitwise