如何从简单形式复选框下方的无效反馈中删除属性名称?

时间:2019-01-07 09:21:13

标签: ruby-on-rails devise simple-form registration

在屏幕截图上,您将看到无效反馈正在从输入中指定属性名称,此处为“ Adulthood”。我不想要它,我无法删除它。它不在模型的接受消息中,也不在视图中。它来自哪里?{enter image description here

模型代码:

  validates :adulthood, acceptance: { message: "Only adults can signup on La Voyageuse" }, on: :create

视图中的代码:

<%= f.input :adulthood, as: :boolean, label: t('.adulthood?'), class:"form-checkbox" %>

2 个答案:

答案 0 :(得分:0)

您尚未检查可正确显示错误日志的视图部件。以下内容将帮助您检查和处理问题

u = User.new
u.valid?  # => false

u.errors.messages # => {:email=>["This field is required."], :password=>["This field is required."]}

u.errors.full_messages #  # => ["Email This field is required.", "Password This field is required."]

您刚刚受到表演,

u.errors.messages[:email] # => "This field is required."

在视图中检查和编辑代码。

答案 1 :(得分:0)

我在输入中添加了一个自定义错误消息以解决此问题:

<%= f.input :adulthood, as: :boolean, label: t('.adulthood?'), class:"form-checkbox", error: "You need to be an adult" %>

它将被国际化,因此我将调用与模型相同的i18n标签。