Rubocop JSON:对齐方法调用的参数(如果它们跨越多行)
Rubocop JSON: Align the parameters of a method call if they span more than one line
我的测试文件中出现 Rubocop 问题。首先,这是我现在的代码:
should 'should show user' do
get user_url(@user),
headers: @header
assert_response :success
end
should 'should update user' do
patch user_url(@user),
params: {
data: {
attributes: {
name: @user.name
}
}
}, headers: @header
assert_response :success
end
这就是 Rubocop 错误输出:
test/controllers/users_controller_test.rb:34:9: C: Align the parameters of a method call if they span more than one line.
headers: @header
^^^^^^^^^^^^^^^^
test/controllers/users_controller_test.rb:40:9: C: Align the parameters of a method call if they span more than one line.
params: { ...
^^^^^^^^^
所以我在样式指南中搜索 JSON 的正确对齐方式。我真的尝试了缩进和换行的每一种组合,但 Rubocop 每次都会抛出同样的错误。 Andy 顺便说一下,将整个 JSON 放在一行中也不是解决方案。
任何人都可以解释一下正确的对齐方式如何让 Rubocop 满意吗?
改为
should 'should show user' do
get user_url(@user),
headers: @header
assert_response :success
end
should 'should update user' do
patch user_url(@user),
params: {
data: {
attributes: {
name: @user.name
}
}
},
headers: @header
assert_response :success
end
解释:
因为 user_url(@user)
是你获得第二个参数的第一个参数 headers: @header
应该与之对齐
同样适用于具有三个参数的第二名
我的测试文件中出现 Rubocop 问题。首先,这是我现在的代码:
should 'should show user' do
get user_url(@user),
headers: @header
assert_response :success
end
should 'should update user' do
patch user_url(@user),
params: {
data: {
attributes: {
name: @user.name
}
}
}, headers: @header
assert_response :success
end
这就是 Rubocop 错误输出:
test/controllers/users_controller_test.rb:34:9: C: Align the parameters of a method call if they span more than one line.
headers: @header
^^^^^^^^^^^^^^^^
test/controllers/users_controller_test.rb:40:9: C: Align the parameters of a method call if they span more than one line.
params: { ...
^^^^^^^^^
所以我在样式指南中搜索 JSON 的正确对齐方式。我真的尝试了缩进和换行的每一种组合,但 Rubocop 每次都会抛出同样的错误。 Andy 顺便说一下,将整个 JSON 放在一行中也不是解决方案。 任何人都可以解释一下正确的对齐方式如何让 Rubocop 满意吗?
改为
should 'should show user' do
get user_url(@user),
headers: @header
assert_response :success
end
should 'should update user' do
patch user_url(@user),
params: {
data: {
attributes: {
name: @user.name
}
}
},
headers: @header
assert_response :success
end
解释:
因为 user_url(@user)
是你获得第二个参数的第一个参数 headers: @header
应该与之对齐
同样适用于具有三个参数的第二名