在我的铁路机3.2中,我有一个包括“期限和条件”检查箱的标志。 形式如此:
<%= form_for @user do |f| %>
<!-- Error message stuff -->
<%= f.text_field :email %>
<!-- More fields... -->
<%= text_field_tag :terms_and_conditions, false, "true" %>
<% end %>
为了确保检查箱的用户检查,我在控制器中有以下代码:
unless params[:terms_and_conditions] == "true"
@user.errors[:base] << "You must check the Terms and Conditions checkbox"
end
但是,当我打电话@user.save
(或@user.valid?
)时,似乎可以明确这一错误信息。 我知道我可以使用<条码>@user.errors? && @user.save,但我感到奇怪的是,save
。 这种方法忽视了我刚才提到的错误信息。 这样做是否有更好和更明智的途径?