gpt4 book ai didi

ruby-on-rails - 用于创建的简单 Mongoid 验证! - 如何显示错误信息

转载 作者:IT老高 更新时间:2023-10-28 12:29:11 25 4
gpt4 key购买 nike

我正在使用带有 mongoid 2 的 Rails 3,并且有一个关于 mongoid 验证的简单问题。

if @forum.topics.create!(name: params[:topic][:name])
# success, do something
else
#should handle errors but doesn't
render 'new'
end

如果我使用 .create!方法,它在 mongoid 模型类上正确运行验证,但它没有到达 else block 来显示错误。相反,它会返回一个 rails 错误页面,说...

TopicsController#create 中的 Mongoid::Errors::Validations

验证失败 - 名称不能为空。

这很好,但是如何在 View 中显示它而不是获得丑陋的 Rails 错误消息页面?

最佳答案

试试这个方法:

new_topic = @forum.topics.new(name: params[:topic][:name])
if new_topic.save
# success, do something
else
render 'new', errors: new_topic.errors.full_messages
end

通过这种方式,您将获得局部变量 errors,它是一个哈希格式,如下所示:

new_topic.errors.full_messages # => ["\"Name\" can't be blank"]

关于ruby-on-rails - 用于创建的简单 Mongoid 验证! - 如何显示错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com