【发布时间】:2014-10-20 20:36:34
【问题描述】:
遇到一个奇怪的问题或错误。
我有一个强参数的路由方法:
def st_params
params.permit([:id, logs: [], metric_ids: []])
end
然后我用例如 rspec 来调用它:
post some_path(format:json, metric_ids:[ [1,0,1], [5,1,4] ])
当我调用 st_params 方法时,没有 metric_ids 参数,并且我在日志中收到消息:Unpermitted parameters: metric_ids
但是如果我像这样改变 st_params 方法:
def st_params
p = params.permit([:id, logs: [], metric_ids: []])
p[:metric_ids] = params[:metric_ids]
# or just p = params.permit!
p
end
现在,在浏览器中一切正常,但看起来很奇怪。
但在 rspec 中,无论如何我都收到了 metric_ids 的 nil 值 :( 我没有找到任何有关该问题的信息。也许这里有人可以帮助我。
提前致谢。
【问题讨论】:
标签: ruby-on-rails rspec strong-parameters