我对控制器操作很好奇,如何对嵌套参数进行一些简单的验证?
def create
# validate incoming post request
errors = Array.new
person = params[:person]
event = params[:event]
errors << "person email should not be empty" if person[:email].blank?
errors << "person name should not be empty" if person[:name].blank?
errors << "event name should not be empty" if event[:name].blank?
这种类型的支票令人讨厌。我正在尝试扫描一些嵌套的 json 参数,例如在
"person":
{
"email":"foo@gmail.com",
"name":"foo"
},
这将很好地验证,因为嵌套名称在那里。虽然如果我在没有嵌套值的情况下发出请求,它会失败。我怎么能写一个条件来检查嵌套值,如果它是空的,只有在错误值中填充。否则,如果没有嵌套值,则照常继续。