我创建了以下页面
Rails model - insert a record - Ruby way
我的问题是,错误消息不是用户友好的。 它说" Cname不能为空白" cname是列名。而不是cname我想显示"列名不能 空白" 我怎么做 ?希望很清楚。
正如dimakura建议
class Contactu < ActiveRecord::Base
validates :cname, presence: { message: 'Column name cannot be blank'}
end
Cname Column name cannot be blank
Cname can't be blank
。 在视图中
@contact_us.errors.messages.values.each do |error| %>
<li><b><%= error %></b></li>
<% end %>
。 现在修好了。非常感谢。
感谢Guilherme Moretti。真的很感谢你的帮助:)
答案 0 :(得分:1)
像这样改变:
class Contactu < ActiveRecord::Base
validate :cname, presence: { message: 'user-friendly message' }
validate :cdetails, presence: true
end
为了隐藏字段名称,还可以使用以下代码显示错误消息:
model.errors.full_messages.join('<br>')
答案 1 :(得分:1)
rails中的错误使用I18n文本生成消息。您可以在config/locales/en.yml
en:
activerecord:
models:
contact: contactu
attributes:
contact:
cname: "Column name"
只需更改为您想要的模型和属性的名称。
您可以在此处阅读有关rails中翻译的更多信息:http://guides.rubyonrails.org/i18n.html