require "action_controller/railtie"
ActionPack::VERSION::STRING # => "5.1.4"
Class.new(Rails::Application).routes.draw do
direct :google do |options|
"https://www.google.co.jp/?q=#{options[:query]}"
end
end
include Rails.application.routes.url_helpers
url_for(:google) # => "https://www.google.co.jp/?q="
url_for([:google, query: "rails"]) # => "https://www.google.co.jp/?q=rails"
google_url # => "https://www.google.co.jp/?q="
google_url(query: "rails") # => "https://www.google.co.jp/?q=rails"
google_path # => "/?q="
google_path(query: "rails") # => "/?q=rails"
Rails4 まで routes.rb にはアプリ内だけのルーティングを書く感じでしたので、外部URLの場合はどこに書いていいか悩ましいところでした。Rails5 からは routes.rb に集約できるようになっていました。