提交 7ce03db7 编写于 作者: L Luke Melia 提交者: Michael Koziarski

Fixes optimised named routes generating question mark followed by nothing when...

Fixes optimised named routes generating question mark followed by nothing when provided an empty hash as the last argument.
Signed-off-by: NMichael Koziarski <michael@koziarski.com>
[#481 state:committed]
上级 086c3520
......@@ -103,9 +103,10 @@ def guard_condition
end
# This case uses almost the same code as positional arguments,
# but add an args.last.to_query on the end
# but add a question mark and args.last.to_query on the end,
# unless the last arg is empty
def generation_code
super.insert(-2, '?#{args.last.to_query}')
super.insert(-2, '#{\'?\' + args.last.to_query unless args.last.empty?}')
end
# To avoid generating "http://localhost/?host=foo.example.com" we
......
......@@ -1694,6 +1694,12 @@ def test_named_route_url_method_with_ordered_parameters_and_hash
controller.send(:multi_url, 7, "hello", 5, :baz => "bar")
end
def test_named_route_url_method_with_ordered_parameters_and_empty_hash
controller = setup_named_route_test
assert_equal "http://named.route.test/people/go/7/hello/joe/5",
controller.send(:multi_url, 7, "hello", 5, {})
end
def test_named_route_url_method_with_no_positional_arguments
controller = setup_named_route_test
assert_equal "http://named.route.test/people?baz=bar",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册