validate_acceptance_of正在工作,但它不會將真正的數據保存到數據庫用戶列age_valid(如果選中)。validates_acceptance_of正在工作但未保存真正的用戶:age_valid在數據庫中
users.controller.rb
class UsersController < ApplicationController
.
.
.
private
def user_params
params.require(:user).permit(:name, :birthdate, :email, :password,
:password_confirmation, :age_valid)
end
end
_form.html.erb
<%= simple_form_for(@user) do |f| %>
.
.
.
<%= f.input :age_valid,
:as => :boolean,
:label => false,
:inline_label => 'I am 18 years of age or older.' %>
.
.
.
<% end %>
user.rb
class User < ActiveRecord::Base
attr_accessor :remember_token, :age_valid
.
.
.
validates_acceptance_of :age_valid,
:acceptance => true,
:message => "You must verify that you are at least 18 years of age."
這一切工作接受它並不會改變數據庫列「 age_valid「從false變爲true。我需要這個來保存記錄。
下面是翻譯DOM
<div class="form-group boolean optional user_age_valid">
<div class="checkbox">
<input value="0" type="hidden" name="user[age_valid]">
<label><input class="boolean optional" type="checkbox" value="1" name="user[age_valid]" id="user_age_valid"> I am 18 years of age or older.</label>
</div>
</div>
遷移使用
class AddAgeValidToUser < ActiveRecord::Migration
def change
add_column :users, :age_valid, :boolean, default: false
end
end
[我感覺你應該使用':accept'而不是':acceptance'。](http://apidock.com/rails/ActiveModel/Validations/HelperMethods/validates_acceptance_of) – Makoto
@Makoto如果我改變':接受'爲':接受'它拋出錯誤信息。 –
您生成的表單的HTML外觀如何?可能是這種情況,它沒有正確填充表單樣式。 – Makoto