首页 > 解决方案 > 未经允许的参数与设计邀请

问题描述

这是我的模型的快速运行

一个用户有很多部分

一个版块有很多用户

用户和部分通过一个名为user_sections的对象相关联

我正在使用 devise invitable 邀请用户使用我的 rails 应用程序。我想在邀请他们之前决定哪些部分属于任何用户。

这是我的invitations_controller. 我可以确认accept_invitation sanitizer 工作,但是invite sanitizer 没有按预期工作。

def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:accept_invitation, keys: [:first_name, :last_name])
    devise_parameter_sanitizer.permit(:invite, keys: [:section_ids])
end

我将此输入添加到invitations#new. 输入显示出来了,我可以在发送邀请和创建用户之前选择用户将拥有哪些部分。

<div class='form-inputs'>
  <%= f.association :sections %>
</div>

但是,我在日志中收到此错误:

Unpermitted parameter: :section_ids

当我签入 rails 控制台时,我邀请的新用户没有与之关联的部分,即使我选择了表单中的部分。这是因为这个未经允许的参数。但是,当您查看我的invitations_controller 中的代码时,您会发现我确实允许该参数。

有什么想法可能会出错吗?

标签: ruby-on-railsformsdevisesimple-formdevise-invitable

解决方案


推荐阅读