我在.rb类文件中有这段代码:
field :user, Types::UserType do resolve ->(_obj, _args, ctx) { ctx[:user] } end
我需要的是使用我认为的do
从单行删除end
和{}
。
[Style/BlockDelimiters] Prefer
{...} over
操作结束for single-line blocks.
但我不明白为什么会抛出这个错误:
[ruby] syntax error, unexpected '{', expecting '('
[ruby] syntax error, unexpected '}', expecting keyword_end
$ rubocop -V
0.51.0 (using Parser 2.4.0.2, running on ruby 2.4.2 x64-mingw32)
答案 0 :(得分:2)
要安抚Rubocop,请切换到:
field :user, Types::UserType do
resolve ->(_obj, _args, ctx) { ctx[:user] }
end
或者这个:
field(:user, Types::UserType) { resolve ->(_obj, _args, ctx) { ctx[:user] } }
我认为前者比后者更清洁,但它取决于你。