日期时间的最小数据提交格式

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

控制器操作解析可选的日期时间集合选择

if params[:individual]["birth_date_ui(1i)"].present?

但是,在测试时无法将请求格式化为:

post individuals_url, params: { individual: { birth_date_ui(1i): 1990, birth_date_ui(2i): 12, [...] } }

因为这不利于处理括号后的冒号:

syntax error, unexpected ':', expecting => (SyntaxError)   ..., birth_date_ui(1i): 1990, birth_date_ui(2i): 12

但提供了不同的参数语法,

birth_date_ui: Date.today - 48.years

以上数据块被视为未包含在覆盖范围宝石中。它还提交一个日期字符串而不是日期时间字符串。

如何编写测试来正确验证日期时间参数的存在和后续处理?

ruby-on-rails code-coverage minitest
1个回答
0
投票

您还可以通过插值创建符号:

:"my_symbol1"
:"my_symbol#{1 + 1}"

https://ruby-doc.org/3.2.2/syntax/literals_rdoc.html#label-Symbol+Literals

{ "birth_date_ui(1i)": 1990, "birth_date_ui(2i)": 12 }
© www.soinside.com 2019 - 2024. All rights reserved.