【发布时间】:2015-08-05 13:48:18
【问题描述】:
我有以下代码:
def register_learner
@event = Event.find(params[:event_id])
@registation = EventRegistration.new first_name: params[:first_name], last_name: params[:last_name], email: params[:email], event_id: params[:event_id]
if !@registation.valid?
@registation.errors.full_messages.delete("Event has already been taken"
flash[:notice] = @registation.errors.full_messages.to_sentence
redirect_to(event_path(@event))
else
@registation.save
end
end
注意 @registation.errors.full_messages.delete("Event has already been taken") 行,我试图从 full_messages 数组中删除此特定消息,但它不起作用。下一行是flash消息,还在显示“Event has been taken”的消息。
这是通过控制台进行的健全性检查...
2.1.5 :001 > errors = ["Event has already been taken", "Last name can't be blank"]
=> ["Event has already been taken", "Last name can't be blank"]
2.1.5 :002 > errors.delete "Event has already been taken"
=> "Event has already been taken"
2.1.5 :003 > errors
=> ["Last name can't be blank"]
我错过了什么?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 validation