我使用Rails 5.我的模型中有这个...
belongs_to :crypto_currency
validates :crypto_currency, presence: true
问题是当我从表单中保存模型时,如果我没有为" Crypto_currency"设置值,则会出现两个错误。现场......
Crypto currency must exist
Crypto currency Please select a value for crypto currency.
这是我的config / locales / en.yml文件。我仍然需要弄清楚如何删除"加密货币"来自"加密货币的单词请为加密货币选择一个值。"错误消息,但您可以清楚地看到我只在文件中定义了一条错误消息
en:
activerecord:
errors:
models:
user_notification:
attributes:
crypto_currency:
blank: "Please select a value for crypto currency."
如果未输入模型字段,我该如何只有一条错误消息?
编辑:在回复评论时,这里是我如何显示其他信息
<ul>
<% @user_notification.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
答案 0 :(得分:2)
Rails 5默认需要\
关联
belongs_to
添加验证,因此您不需要自己的。
您可以跳过belongs_to :crypto_currency
默认验证,如下所示:
belongs_to
或删除您自己的并自定义默认错误消息
答案 1 :(得分:0)
尝试更改您的模型:
belongs_to :crypto_currency, optional: true
validates :crypto_currency, presence: true
并且
en:
activerecord:
attributes:
user_notification:
crypto_currency: ""
errors:
models:
user_notification:
attributes:
crypto_currency:
blank: "Please select a value for crypto currency."