我有一个带有日期属性的Rails模型,名为date_assigned
。如果用户在表单中输入111111
并单击提交,则Rails似乎会对此进行类型转换,从而导致零值。我有验证,这将为模型添加错误。所以在我的控制器中,我改为呈现:edit
动作,但我无法显示无效值,因此用户可以更正它。有没有办法让我这样做?我将在下面给出一个示例场景
应用程序/视图/ blog_posts / edit.html.erb
<input type="text" name="blog_post[date_assigned]" />
应用程序/控制器/ blog_posts_controller.rb
@blog_post = BlogPost.find(params[:id])
if @blog_post.update blog_post_params # fails because of validation
# save
else
flash.now[:error] = @blog_post.errors.full_messages.to_sentence
render :edit
end
显示编辑视图时,我无法弄清楚如何显示无效值。
答案 0 :(得分:0)
您需要更改@ blog_post.errors而不是将其发送到视图。 这样的事情:
$(document).ready(function() {
var url = $(location).attr('href');
$('#AJAX').load(url '#content');
});
您可以在此处找到有关ActiveRecord错误中添加方法的更多信息 - http://api.rubyonrails.org/classes/ActiveModel/Errors.html#method-i-add
如果您有一些问题,请随时询问。