如何在此使用单个块:
devise_parameter_sanitizer.for(:sign_up) do |u|
u.permit(:full_name, :email, :password, :password_confirmation)
end
devise_parameter_sanitizer.for(:account_update) do |u|
u.permit(:full_name, :email, :password, :password_confirmation)
end
答案 0 :(得分:2)
查看for
的定义,您可以看到kind
参数被用作@blocks
哈希的键。也许这表明你不应该试图“结合”这两个陈述。
如果您纯粹想要重复使用块中的代码,请使用Proc
。如下所示:
block = Proc.new do |u|
u.permit(:full_name, :email, :password, :password_confirmation)
end
devise_parameter_sanitizer.for(:sign_up, block)
devise_parameter_sanitizer.for(:account_update, block)
答案 1 :(得分:1)
Proc
可以帮助您,请尝试以下操作,
devise_parameter_sanitizer.for(:sign_up, &your_method)
devise_parameter_sanitizer.for(:account_update, &your_method)
def your_method
Proc.new { |u| u.permit(:full_name, :email, :password, :password_confirmation) }
end