Rails参数在生产中响应csv格式时为空

问题描述 投票:0回答:1

我有一个奇怪的问题,我似乎无法弄清楚与Rails参数有关。

我有一个控制器,我可以在其中允许任何参数。在此控制器中,参数(csv_type)控制我将响应的CSV文件。例如[registrationattendance类型的CSV。

此参数是通过路径(例如:abcs_path(@abc,格式:'csv',csv_type:'出席')在URL中构建的,导致/abcs/id.csv?csv_type=attendance

我希望{"csv_type"=>"attendance", "controller"=>"abcs", "action"=>"show", "id"=>"45", "format"=>"csv"},但在生产中我得到{"controller"=>"abcs", "action"=>"show", "id"=>"45", "format"=>"csv"}csv_type不见了。

这在本地完美运行,我得到了所有参数。在Heroku评论应用上也能很好地工作。当我在RAILS_ENV=production上本地运行时,效果也很好。

但是在实际生产中却没有。它也不适用于使用RAILS_ENV=production配置的暂存。尽管评论应用程序也为RAILS_ENV=production,但整个事情还是一个谜。

想法:-nginx弄乱了域名(暂存和生产在正式域名上,review app是Heroku域名,本地是localhost)。-sqreen以某种方式拦截了这个-mime.types和https(尝试将csv添加到rails,但没有成功)。没有在nginx上添加-在参数上允许一些Rails配置(尽管我在params.permit!中做),只是为了确保-一些ENV变量弄乱了吗?-想不到其他了吗?

提前感谢您的帮助!

ruby-on-rails csv parameters
1个回答
0
投票

如果您使用上面的Rails 5,则可以尝试使用request.parameters.merge并将参数放入带有示例的hash中,如下所示:>

before_action
© www.soinside.com 2019 - 2024. All rights reserved.