在rails中,我在模型:
中执行了此操作 def update_user_ex(*attrs)
user.assign_attributes(*attrs)
# .............
其中attrs
是带有散列的数组,为简单起见,我们假设它是单个散列。
如何在Rails 4中执行此操作? “permit”不适用于散列或数组。
答案 0 :(得分:0)
根据https://github.com/rails/strong_parameters
的文档,可以在控制器之外使用强参数示例:
def update_user_ex(*attrs)
params = ActionController::Parameters.new(attrs)
user.assign_attributes(params.permit(:name, :email, :something_else))
答案 1 :(得分:0)
允许在rails 4中的数组上工作。但是数组必须是最后一个参数。
params.require(:test).permit(:name,:rollno, question_ids:[])
以下示例给出错误,因为数组不是最后一个参数。
params.require(:test).permit(question_ids:[], :rollno)