加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 03:15:20 所属栏目:百科 来源:网络整理
导读:我正在使用带有mongoid 2的Rails 3并且有一个关于mongoid验证的简单问题. if @forum.topics.create!(name: params[:topic][:name]) # success,do somethingelse #should handle errors but doesn't render 'new'end 如果我使用.create!方法,它正确地在mongo
我正在使用带有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块来显示错误.相反,它返回一个rails错误页面说…

Mongoid :: Errors :: TopicsController中的验证#create

验证失败 – 名称不能为空.

这很好,但是如何在视图中显示它而不是获得丑陋的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

通过这种方式,您将获得局部变量错误,这是一个Hash格式如下:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读