在Rails API中创建elsif语句?

时间:2013-05-08 09:05:22

标签: json ruby-on-rails-3 api controller

我正在尝试收到我的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

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

1 个答案:

答案 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