[英]How do I get params in rails that are only from the URL?
我正在写一个可安装在Rails上的gem,它会根据呈现的控制器和动作触发自定义javascript事件。
我想添加一个功能,其中URL的参数可用于事件处理程序:
// 'PATCH /users/:user_id/tasks/:id'
$(document).on('tasks#update', function(data, params){
console.log(params['user_id'], params['id']);
});
出于安全原因,我想将其限制为源自URL而非请求主体的参数。
由于这是库而不是应用程序代码,因此我不能仅使用URI.parse
因为键映射是未知的。
如何获得仅路由器匹配的参数子集?
从控制器(在这种情况下为帮助器)中,您可以从request.path_parameters
和request.query_parameters
获得子集。
def body_tag(**opts)
options = opts.deep_merge(
data: request.path_parameters.merge(request.query_parameters)
)
if block_given?
content_tag(:body, options) { yield }
else
tag(:body, options, true)
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.