我正在使用DataMapper的验证,但我无法获取错误消息文本:(
我试过了:
@error = user.errors.first
@error = user.errors.full_messages.first
@error = user.errors.full_messages.flatten
@error = user.errors[0]
但我仍然得到一个数组:(
在我的模板中我有
- if @error
%p.lead= @error
我得到["This username is taken"]
如果我有
- if @error
- @error.each do |er|
%p.lead= er
它有效,但是没有办法只向模板发送一个字符串,它可以与%p = @error
一起使用吗?
答案 0 :(得分:2)
如果@error
是一个数组,它似乎是一个数组,那就是它将如何出现。
你可能想要的是:
@error = user.errors.full_messages.flatten.join(', ')
这样的东西会把它折叠成一个字符串。 flatten
返回一个数组。