2014-11-04 6 views
0

Я использую рельсы и разрабатываю для аутентификации (имя пользователя - адрес электронной почты -password), я использовал best_in_place для редактирования других атрибутов для пользователя (возраста - ..) с другого контроллера (профилей), но я, когда обновить атрибуты поля, они не сохраняются, даже если я перезагружаю страницу (это не проблема jquery), поэтому что мне делатьRails: devise and best_in_place

+0

Можете ли вы предоставить более подробную информацию – Thorin

ответ

0

Вы дезинфицируете параметры разработки перед обновлением? В вашем ApplicationController добавить что-то вроде этого:

before_filter :update_sanitized_params, if: :devise_controller? 

def update_sanitized_params 
    devise_parameter_sanitizer.for(:sign_up) << :name 
    devise_parameter_sanitizer.for(:account_update) << [:name, :avatar, :remote_avatar_url] 
end 

Еще одна причины, почему ваше действие обновления не работает, может быть из-за того, что вы не permiting дополнительных полей в вашем ProfilesController.

def user_params 
    accessible = [ :name, :email,:age... ] # extend with your own params 
    params.require(:user).permit(accessible) 
end 

Я надеюсь, что это поможет.

Смежные вопросы