1.
DBにカラムを追加する
$ rails g migration add_rule_confirmed_to_users rule_confirmed:boolean
$ bundle exec rake db:migrate
db/migrate/20130930182035_add_rule_confirmed_to_users.rb が生成されるので、マイグレート
2.
application_controller.rbに、以下を追加する
controllers/application_controller.rb
class ApplicationController < ActionController::Base
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :rule_confirmed
end
end
3.
views/devise/registrations/new.html.erbに
以下を追加する
(simple_form,bootstrap使用)
views/devise/registrations/new.html.erb
<%= f.input :rule_confirmed, :input_html => { :class => 'input-xlarge' } %>
4.
ja.ymlに以下を追加
(ロケールが日本語の場合)
config/locales/ja.yml
ja:
activerecord:
attributes:
user:
rule_confirmed: "利用規約に同意"
5.
モデルのuser.rbに以下を追加
models/user.rb
validate :rule_confirmed_valid?
private
def rule_confirmed_valid?
errors.add(:rule_confirmed, 'して頂かない場合は、登録できません。') unless rule_confirmed == true
end