ruby-on-rails - Rails 3 - 获取一个字段的完整错误消息

标签 ruby-on-rails ruby model-view-controller controller

我有 user.errors,它给出了我 Controller 中的所有错误。所以,我的字段 :user_login 有错误。我怎样才能从 user.errors 中获取仅针对该字段的完整 错误消息?

我可以像这样得到这个字段的文本:

user.errors[:user_login] # Gives that 'can't be empty'

但我真的很想做那样的事

user.errors.get_full_message_for_field[:user_login] # 'Your login can't be empty'

最佳答案

好吧,我知道这个问题是在一年半前针对 Rails 3.x 明确发布的,但现在 Rails 4.x 似乎有了您想要的方法,full_messages_for .

user.errors.full_messages_for(:user_login) #=> return an array
# if you want the first message of all the errors a specific attribute gets,
user.errors.full_messages_for(:user_login).first
# or
user.errors.full_messages_for(:user_login)[0]

它比以前使用的 user.errors.full_message(:user_login, user.errors[:user_login].first) 更简洁。

关于ruby-on-rails - Rails 3 - 获取一个字段的完整错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9837787/

相关文章:

mysql - 将 mysql 转储导入新的 Redmine 实例时出现未知列 'tokens.update_on'

ruby-on-rails - FFMPEG,如何在我方便的时候命名输出文件?

ruby - 一种更优雅的方法来拒绝只包含空字符串的数组

ruby - 为什么 macvim 不总是使用 ruby​​ 1.9.3?

Java - OOP 和 MVC

javascript - Rails 3 使用 Jquery 远程提交单选按钮表单(不使用 $.post)?

ruby-on-rails - RSpec with Factory_girl - 销毁对象

ruby - 如何在 ARel 中使用 CONCAT() 等函数?

Java @Model Annotation,我需要导入哪个库才能使用它?

C# 反射 StackTrace 获取值