2014-05-09 2 views
1

사용자가 user.status를 '공개'또는 '비공개'로 설정하도록 선택할 수있는 옵션을 추가하려고합니다. 나는이 사용자에 대한 내 양식에서 잘 작동했다 - 그것은 예상대로 정확하게 상태를 저장합니다레일에있는 사용자를위한 맞춤 옵션을 추가하십시오.

 <div class="form-group"> 
     <%= f.label :status, "Private or Public?" %> 
     <%= f.select :status, options_for_select(user_statuses, @user.status) %> 
    </div> 

application_helper.rb에서 :

def user_statuses 
     [ ["Private", "Private"], ["Public", "Public"] ] 
    end 

그러나, 나는 위에서 동일한 형태의 그룹을 추가하는 경우 내 devise edit/new views로 상태를 올바르게 저장할 수 없습니다. 사용자의 상태는 변경되지 않거나 기본값으로 유지됩니다. 내가 빠진 것이 있습니까?

+0

당신은 그것을 찍었습니다! JKen에게 감사하며 새로운 것을 배웠고 해결했습니다. – dstep

+0

여기에서 해결책을 사용하여 해결 http://stackoverflow.com/questions/23459685/newly-added-columns-data-not-being-saved-to-db/23459815#23459815 – dstep

+0

문제가 없습니다! 서비스에 기뻐. –

답변

0

당신의 태그가 레일 4에 루비를 포함하고있는 것을 보았습니다. 그래서 레일즈 4를 사용하고 있다고 생각합니다. 다음 답변은이 추측을 기반으로합니다.

레일 4에 새로운 강력한 매개 변수가 있습니다. 대량 할당을 원하면 매개 변수를 허용하십시오.

귀하의 경우에도 상태를 저장하려면이를 허용해야합니다.

?

before_filter :configure_permitted_parameters, if: :devise_controller? 

protected 
    def configure_permitted_parameters 
     if resource_class == User 
     devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, 
      :password, :password_confirmation, :status) } 
     end 
    end 

같은 application_controller.rb

추가 코드에서

는 앱에 대한 자세한 정보를 추가하시기 바랍니다없는 경우는, 도움이되기를 바랍니다, 우리는 추가 논의를 할 수 있습니다.

관련 문제