我有 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/