我正在尝试收到我的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
的活动,如果术语“失败”不存在,则创建successfully backed up
。
JSON帖子(email_payload)包含一个名为subject
的属性。我想知道我是否可以这样做:
if email_payload['subject'] => "FAIL"
...
else
...
end
这样做的最佳方式是什么?
答案 0 :(得分: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