Ruby on rails 设计嵌入式对象';不允许的参数';错误
我有以下用于用户更新的控制器Ruby on rails 设计嵌入式对象';不允许的参数';错误,ruby-on-rails,ruby,forms,devise,gem,Ruby On Rails,Ruby,Forms,Devise,Gem,我有以下用于用户更新的控制器 class RegistrationsController < Devise::RegistrationsController def update super UserMailer.send_mail_on_account_update(current_user).deliver end before_filter :configure_permitted_parameters, if: :devi
class RegistrationsController < Devise::RegistrationsController
def update
super
UserMailer.send_mail_on_account_update(current_user).deliver
end
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :last_name, :username, :email, :password, :password_confirmation, :current_password, :shipping_details) }
end
def after_update_path_for(resource)
edit_user_registration_path(resource)
end
end
如何使其允许“装运详细信息”字段?我做错了什么?您提供的
:shipping\u details
方法意味着它需要一个简单的字符串值,然后传入一个散列。您应该在您的许可证中执行此操作:
:shipping_details => { :address, :city }
如果我希望shipping details是一个哈希数组(因为用户可以有多个shipping details),该怎么办。我没有得到你的许可(:名字,:姓氏,:用户名,:电子邮件,:密码,:密码确认,:当前密码,发货详细信息:[:地址,:城市]),我得到了“未定义的方法”,访问权限为“
:shipping_details => { :address, :city }