railsがんばる子

Ruby on Railsがんばる子です。胡蝶蘭のECサイトを運営しています。

RailsのURL生成ヘルパーにて、違うホストのURL+クエリストリングを生成する

RailsのURL生成ヘルパーにて、違うホストのURLを作ろうとした時に壁にあたりました。 違うホスト、かつ、クエリストリングを追加するパターンです。

hoge_tokenを付与。

> url = xxx_url(@request, {hoge_token: 111})
=> "http://localhost:3000/xxx?hoge_token=111"

> url = xxx_url(@request, {hoge_token: 111}, host: 'hogehost')
=> "http://hogehost:3000/xxx.hoge_token=111"

ハテナがドットに変わってしまいますね。 なんででしょう?

ハッシュを渡さなければ解決しました。

> url = xxx_url(@request, hoge_token: 111, host: 'hogehost')
=> "http://hogehost:3000/xxx?hoge_token=111"```