2016-08-01 4 views
1

내 Rails 앱에서 사용자 가입을 위해 Devise를 사용하고 있습니다. Users 테이블에는 admin이라는 열이 있으며이 열은 부울입니다. 새로운 사용자가 등록 할 때마다 admin의 값이 자동으로 기본값 인 false이되도록 설정하고 싶습니다. 여러 가지 접근 방식을 시도했지만 아무 것도 작동하지 않는 것 같습니다.Devise - 신규 사용자를위한 기본값 설정

나는 일이 같은 뭔가를 찾고 있어요 : 내가 말했듯이 있지만

class ApplicationController < ActionController::Base 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) << :first_name 
    devise_parameter_sanitizer.for(:sign_up) << :last_name 
    devise_parameter_sanitizer.for(:sign_up) << :phone 
    devise_parameter_sanitizer.for(:sign_up) << {:admin => false} 
    end 
end 

, 작동하지 않습니다. 그러나 그런 것. 어떤 제안이라도 대단히 감사 할 것입니다.

답변

2

모델에서 속성의 기본값을 설정해야합니다. 마이그레이션에서 :

add_column :admin, :boolean, :default => false 

당신은 그 값이 저장에 설정되어 있는지 확인 할 수 있습니다

before_save :default_admin 
def default_admin 
    self.admin ||= false 
end 
+0

'before_save' 및'default_admin' 메소드 'app/models/user.rb' ??????에 있습니다. – inye

2

더 정확한 답은 다음과 같습니다

# models/user.rb 
before_create :default_admin 
def default_admin 
    self.admin ||= false 
end 

create과에 있기 때문에 더 uptade처럼 before_save