update_resource_params给出了不允许的参数错误-设计不可行

cam

我正在尝试使用Devise Invitable对应用程序中的现有用户实施邀请。

乍看之下这失败了,因为Devise Invitable最好用于新用户-即未注册的用户。

但这就是我的User::InvitationsController样子(为简洁起见被截断):

class Users::InvitationsController < Devise::InvitationsController
include ApplicationHelper
  before_filter :configure_permitted_parameters, if: :devise_controller?
  before_filter :update_sanitized_params, only: :update

  # PUT /resource/invitation

  def create
    invited_user = User.where(email: params[:user][:email])
    if !invited_user.empty?
      invitation_token = Devise.token_generator.digest(resource_class, :invitation_token, update_resource_params[:invitation_token])
      self.resource = resource_class.where(invitation_token: invitation_token).first
      family_tree = self.resource.invited_by.family_tree
      family_tree.memberships.create(:user_id => user.id, relation: update_resource_params[:relation])
      resource.create_membership_both_ways(params[:user][:invitation_token], params[:user][:relation])
      resource.skip_password = true
      resource.update_attributes update_resource_params.except(:invitation_token)
      redirect_to my_tree_path
     else
       super
     end
  end

  protected

  def update_sanitized_params
    devise_parameter_sanitizer.for(:accept_invitation) do |u|
      u.permit(:name, :password, :password_confirmation, :invitation_token, :invitation_relation,:avatar, :avatar_cache, :relation)
    end
  end

  def update_resource_params
    devise_parameter_sanitizer.sanitize(:accept_invitation) do |u|
      u.permit(:email)
    end
  end
end

当我使用pry进行调试时,这就是我戳周围时发生的情况invitation_token

[1] pry(#<Users::InvitationsController>)> invitation_token
=> false
[2] pry(#<Users::InvitationsController>)> update_resource_params
Unpermitted parameters: email
=> {"name"=>"", "invitation_relation"=>"uncle"}

关于可能是什么原因引起的思考,或者如何摆脱这个unpermitted paramters :email问题?

编辑1

这些是相关的路线:

  devise_for :users, :controllers => { :invitations => 'users/invitations', :confirmations => 'confirmations' }

  devise_scope :user do
    post "users/invitation/sign_in" => "users/invitations#invite_sign_in"
  end

编辑2

在我中,application_controller.rb我有一个添加的方法,:email它似乎已经停止了该错误:

  def configure_permitted_parameters
    # Once I added :email to this method, it stopped throwing the unpermitted error
    devise_parameter_sanitizer.for(:accept_invitation) do |u|
      u.permit(:name, :email, :last_name, :invitation_relation)
    end
  end
里奇维斯

使用Devise并配置allowed_pa​​rams时,最好在应用程序控制器中执行此操作,您可以使用以下两种方法之一

def configure_permitted_parameters
 devise_parameter_sanitizer.for(:accept_invitation) do |u|
   u.permit(:name, :email, :last_name, :invitation_relation)
 end
end

或者

def configure_permitted_params
  devise_parameter_sanitizer.for(:accept_invitation) << [:name, :email, :last_name, :invitation_relation]
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何防止纸浆和蟒蛇的不可行错误?

来自分类Dev

C ++:混淆可变参数模板,导致“候选函数不可行”错误

来自分类Dev

map_reduce C ++ lamba:候选者不可行的单个参数

来自分类Dev

模板化线性代数向量类中的奇怪“成员函数不可行”错误

来自分类Dev

clang错误:注意:候选构造函数(隐式move构造函数)不可行:

来自分类Dev

模板化线性代数向量类中的奇怪“成员函数不可行”错误

来自分类Dev

clang错误:注意:候选构造函数(隐式move构造函数)不可行:

来自分类Dev

需要重新设计以避免不可行

来自分类Dev

GLPK蓄水库-不可行

来自分类Dev

C ++候选函数不可行?

来自分类Dev

Cplex产生负面或不可行的结果

来自分类Dev

需要重塑以避免不可行

来自分类Dev

不可行的解决方案,绝对可行 - CPLEX

来自分类Dev

由于问题不可行,纸浆获得结果,而问题不可行

来自分类Dev

设计:不允许的参数

来自分类Dev

为什么此线性程序在GLPK中不可行?

来自分类Dev

进程/线程的Russage Cpu时间不可行

来自分类Dev

IncrementalScore在Optaplanner中产生不可行的解决方案

来自分类Dev

操作符过载但不可行

来自分类Dev

C++ 默认复制构造函数不可行

来自分类Dev

不允许的参数 ActiveAdmin 设计 Rails

来自分类Dev

CBC-知道“为什么”一个程序是不可行的

来自分类Dev

如何使用Python Gekko解决IPOPT中的本地不可行问题?

来自分类Dev

selectInput值未在可反应的Shiny中更新(麻烦的绑定不可行)

来自分类Dev

GOOGLE APP脚本-LinearOptimizationService-最小绝对增量-问题不可行

来自分类Dev

如何解释具有0个分支的最优或不可行解决方案?

来自分类Dev

为什么在全局范围内使用“ extern int a”似乎不可行?

来自分类Dev

Gekko-优化计划的不可行解决方案,带有gurobi的比较

来自分类Dev

古罗比(Gurobi)中的“模型不可行或无界”-但是,这似乎是不正确的

Related 相关文章

  1. 1

    如何防止纸浆和蟒蛇的不可行错误?

  2. 2

    C ++:混淆可变参数模板,导致“候选函数不可行”错误

  3. 3

    map_reduce C ++ lamba:候选者不可行的单个参数

  4. 4

    模板化线性代数向量类中的奇怪“成员函数不可行”错误

  5. 5

    clang错误:注意:候选构造函数(隐式move构造函数)不可行:

  6. 6

    模板化线性代数向量类中的奇怪“成员函数不可行”错误

  7. 7

    clang错误:注意:候选构造函数(隐式move构造函数)不可行:

  8. 8

    需要重新设计以避免不可行

  9. 9

    GLPK蓄水库-不可行

  10. 10

    C ++候选函数不可行?

  11. 11

    Cplex产生负面或不可行的结果

  12. 12

    需要重塑以避免不可行

  13. 13

    不可行的解决方案,绝对可行 - CPLEX

  14. 14

    由于问题不可行,纸浆获得结果,而问题不可行

  15. 15

    设计:不允许的参数

  16. 16

    为什么此线性程序在GLPK中不可行?

  17. 17

    进程/线程的Russage Cpu时间不可行

  18. 18

    IncrementalScore在Optaplanner中产生不可行的解决方案

  19. 19

    操作符过载但不可行

  20. 20

    C++ 默认复制构造函数不可行

  21. 21

    不允许的参数 ActiveAdmin 设计 Rails

  22. 22

    CBC-知道“为什么”一个程序是不可行的

  23. 23

    如何使用Python Gekko解决IPOPT中的本地不可行问题?

  24. 24

    selectInput值未在可反应的Shiny中更新(麻烦的绑定不可行)

  25. 25

    GOOGLE APP脚本-LinearOptimizationService-最小绝对增量-问题不可行

  26. 26

    如何解释具有0个分支的最优或不可行解决方案?

  27. 27

    为什么在全局范围内使用“ extern int a”似乎不可行?

  28. 28

    Gekko-优化计划的不可行解决方案,带有gurobi的比较

  29. 29

    古罗比(Gurobi)中的“模型不可行或无界”-但是,这似乎是不正确的

热门标签

归档