https://xxxx といった文字列のURLに、 クエリパラメータをつけて URL を作る場合、 クエリパラメータは 特別な形に変換する必要があります。
JavaScript でいう encodeURIComponent を実行してやる必要があります。
これにより + は %2B に、 & は %26 になります。
基本
Ruby では CGI.escape を使います。
require 'cgi'
CGI.escape('+ &') # => "%2B+%26"
使用例
CGI.escape を使って URL を組み立ててみます。
ハッシュを使うなどいろいろと改善できるところはありますが、ここではシンプルなパターンを記載します。
"https://samole.com?key={CGI.escape(value)}"
key に特殊な文字を使うことはまずないと考えて value のみ escape をしています。
key も escape する場合は、
https://github.com/rails/rails/blob/3-0-stable/activesupport/lib/active_support/core_ext/object/to_query.rb が参考になります。