在我的一个模型中,我有一个before_create属性,用于设置从Web API中获取的特定值。但是,如果在使用API时未找到结果,则此before_create返回false,从而导致模型创建失败。before_create失败时显示警告消息?
这工作正常,但我想也显示一条警告消息,以便用户知道他们的输入未被接受。我会如何去做这件事?
在我的一个模型中,我有一个before_create属性,用于设置从Web API中获取的特定值。但是,如果在使用API时未找到结果,则此before_create返回false,从而导致模型创建失败。before_create失败时显示警告消息?
这工作正常,但我想也显示一条警告消息,以便用户知道他们的输入未被接受。我会如何去做这件事?
A before_create
是不正确的地方报告错误。您的before_create
应尝试设置该值,然后验证程序应检查它是否存在,如果验证程序未找到该值,则会收到错误消息等。所以,如果你的属性称为pancakes
,那么你就会有这样的事情:
before_validation :stuff_web_api_value_into_pancakes, :if => :new_record?
validates_presence_of :pancakes
你可以,当然,使用不同的验证比validates_presence_of
,这只是有用于说明目的。你需要一个before_validation
hook以正确的顺序发生,:if => :new_record?
只会在创建新模型时运行。
请发布您的'before_create'和其他相关代码。 – s84