首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Devise configure_permitted_parameters不允许:头像变量

Devise configure_permitted_parameters不允许:头像变量
EN

Stack Overflow用户
提问于 2019-06-18 17:20:55
回答 2查看 1.3K关注 0票数 0

我使用的是devise 4.6.1 & rails 5.2.2

我正在尝试使用configure_permitted_parametersapplication controller中允许:avatar,但是,当我尝试通过account_update表单更新用户时,我得到了错误:

代码语言:javascript
复制
Processing by RegistrationsController#update as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"C3zs4PT5Ui5MCVBr6Q9S05TJi2UThwGFQ+s0kTKqb+v4JHeTrl0sfeB5p+owee3DnfJ86BkgPcfNpqgWsdPqcg==", "user"=>{"username"=>"testuser2", "email"=>"testuser2@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "current_password"=>"[FILTERED]", "avatar"=>#<ActionDispatch::Http::UploadedFile:0x00007f4ced47a108 @tempfile=#<Tempfile:/tmp/RackMultipart20190618-18771-b0w9jf.png>, @original_filename="category-icon.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"category-icon.png\"\r\nContent-Type: image/png\r\n">}, "commit"=>"Update"}
  User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ?  [["id", 2], ["LIMIT", 1]]
  ↳ /home/ec2-user/.rvm/gems/ruby-2.6.0/gems/activerecord-5.2.2/lib/active_record/log_subscriber.rb:98
  User Load (0.2ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ? LIMIT ?  [["id", 2], ["LIMIT", 1]]
  ↳ /home/ec2-user/.rvm/gems/ruby-2.6.0/gems/activerecord-5.2.2/lib/active_record/log_subscriber.rb:98
Unpermitted parameter: :avatar
   (0.1ms)  begin transaction
  ↳ /home/ec2-user/.rvm/gems/ruby-2.6.0/gems/activerecord-5.2.2/lib/active_record/log_subscriber.rb:98
   (0.0ms)  commit transaction
  ↳ /home/ec2-user/.rvm/gems/ruby-2.6.0/gems/activerecord-5.2.2/lib/active_record/log_subscriber.rb:98
Unpermitted parameter: :avatar
Unpermitted parameter: :avatar
Unpermitted parameter: :avatar

我试着改变

代码语言:javascript
复制
before_action :configure_permitted_parameters, if: :devise_controller?

代码语言:javascript
复制
before_action :configure_permitted_parameters

然而,当我这样做时,我得到以下错误:

DiscussionsController:0x00007f4cee0855d8的未定义局部变量或方法resource_class

application_controller:

代码语言:javascript
复制
before_action :configure_permitted_parameters, if: :devise_controller?

protected

   def configure_permitted_parameters
     devise_parameter_sanitizer.permit(:account_update, keys: [:avatar])
   end
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56645777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档