0

我正在尝试接收到我的 Rails 3 应用程序的 JSON 帖子。JSON 帖子只是一封电子邮件,其主题将是以下之一:

BACKUP_PASS/VERIFY_PASS
BACKUP_FAIL/VERIFY_FAIL
BACKUP_FAIL/VERIFY_PASS
etc..

我的控制器中有以下代码:

def backupnotification
  email_payload = JSON.parse(params[:payload])
  Activity.create(:action => 'failed to backup', :details => email_payload['recipient'], :user_id => '28')
end

我还在路由文件中添加了以下内容:

post  '/api/activity/backupnotification' => 'activities#backupnotification'

Activity显然,无论备份状态如何,这都会创建一条新记录。我想要做的是创建一个活动,failed to backup如果术语 FAIL 出现在主题中的任何位置,以及successfully backed up术语 FAIL 是否不存在。

JSON 帖子 (email_payload) 包含一个名为subject. 我想知道我是否可以做这样的事情:

if email_payload['subject'] => "FAIL"
 ...
else
 ...
end

这样做的最佳方法是什么?

4

1 回答 1

1

假设您可以以与收件人类似的方式访问您的主题,您可以尝试这样的事情。

def backupnotification

  email_payload = JSON.parse(params[:payload])

  if email_payload['subject'].include?('FAIL')
    action_message = 'failed to backup'
  else
    action_message = 'successfully backed up'
  end

  Activity.create(
    :action =>  action_message,
    :details => email_payload['recipient'],
    :user_id => '28')
end
于 2013-05-08T09:43:58.517 回答