如何将嵌套属性添加到Devise的允许参数中,以使嵌套表单起作用 [英] How do you add a nested attribute to permitted parameters for Devise in order for nested form to work
本文介绍了如何将嵌套属性添加到Devise的允许参数中,以使嵌套表单起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在跑步:
- 导轨4.1.4
- 设计3.3
我使用RailsApp入门应用程序来设置设计和专家.现在,我在保存嵌套表单属性时遇到了麻烦.我收到一个错误:
I used the RailsApp starter app to set up devise and pundit. Right now I am having trouble making a nested form attribute save. I am getting an error:
Unpermitted parameters: players
我编辑了初始化文件以显示:
I edited the initializer file to show:
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:first_name, :last_name, :players, :player_attributes => [:position]) }
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :last_name, :role, :players, :player_attributes => [:position]) }
end
我的模特是:
class Users < ActiveRecord::Base
has_one :player
accepts_nested_attributes_for :player
end
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class Players < ActiveRecord::Base
belongs_to :user
end
播放器控制器
def update
@player = Player.find[params[:id])
if @player.update_attributes(secure_params)
redirect_to players_path, :notice => "Player updated"
else
redirect_to players_path, :alert => "Unable to update"
end
end
private
def secure_params
params.require(:user).permit(:user_id, :players)
end
我在做什么错了?
推荐答案
通过遵循本指南,我设法使嵌套属性起作用.
I managed to get nested attributes working by following this guide..
http://kakimotonline.com/2014/03/30 /extending-devise-registrations-controller/
这篇关于如何将嵌套属性添加到Devise的允许参数中,以使嵌套表单起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文