使用create进行错误处理! Rails中的方法4

时间:2014-09-05 07:28:10

标签: ruby-on-rails json ruby-on-rails-3 ruby-on-rails-4

我正在使用rails4。在我的控制器中,我解析了json并存储到数据库中。 我的控制器是这样的,

def store
  @data.each do |invite|
     MemberInvitation.create!(:email => invite['email'])
  end
end

这很好....

正如我们所知create will automatically call validators但如果验证失败,则如何使用json render显示错误消息。因为我在MemberInvitation模型中定义了验证。

如何处理这种情况!!!

如果出现错误,我想以json格式呈现错误消息!!!

1 个答案:

答案 0 :(得分:2)

获取报告的快捷方式是:

def store
  errors = []
  @data.each do |invite|
     new_member = MemberInvitation.new(:email => invite['email'])
     errors.push(new_member) unless new_member.save
  end
  if errors.empty?
    #everything went fine
  else
    # you have all members with issues in the array
    # I advise you to create your json yourself
  end
end