ruby-on-rails - Rails 5.1 路由约束不传递参数
问题描述
更新到带有路由约束的 Rails 5.1 后出现问题。
基本上我的路线是匹配的,但没有参数被传递给控制器动作。这段代码已经工作了一段时间,但现在它没有,我有点坚持为什么。
点击网址
localhost:3000/?edd_action=activate_license&item_name=ProductA&license=123
路线
get '/' => 'api/v1/legacy_licenses#activate', constraints: { query_string: /edd_action=activate_license/ }
我的动作代码看起来像
def load_license_key
if params[:license]
...
end
end
问题是 params 哈希永远不会选择许可证参数,或者项目名称之一。
如果我检查request.query_string
那个动作,我看到的只是"edd_action=activate_license"
我不知道其余参数的去向。
任何人都可以帮忙吗?更改 URL 参数不是一种选择,因为它只能与旧软件集成。
解决方案
推荐阅读
- python - scipy.opimize.minimize 因有序解向量的约束而失败
- firebase - 方法 'placemarkFromCoordinates' 没有为类型 'Geolocator' 定义。尝试将名称更正为现有方法的名称
- java - Spring Boot REST 获取 HTTPConnectionURL 的参数
- flask - 如何将标头添加到烧瓶中的所有路由?
- oracle - Oracle APEX - PopUp LOV 上的 OnChange 事件不起作用
- cookies - 仅在 chrome 中过滤掉的 Cookie
- octave - 根据其值的彩色条形图 - GNU Octave
- toloka - 某些执行者群体的任务可用性
- java - 日期选择器显示警告消息:equals() 的参数类型不太可能:字符串似乎与 WebElement 无关
- django - 解构 django 模板中的字典条目