Rails url_helperをSerializerで使いたい
url_helperとは?
一言でいうとリンクやURLを生成するためのメソッド郡
どんな時に使うの?
例えばurl_helperのurl_for
といメソッドを使うと以下の様にオブジェクトからURLを生成する事が可能。
@user = User.find(2) url_for(@user) # => "/users/2"
例えばActive Storageの画像イメージのリンクを生成したりする事が可能。
url_for(object.image)
Serializerで使えるようにするまで
しかし使えるようにするために一手間必要。
Serializer内に以下を記述する。
include Rails.application.routes.url_helpers
ただ、これだけでもダメ・・・
デフォルトのURLを設定
config/environments/development.rb
にてデフォルトのURLを設定する必要がある
Rails.application.routes.default_url_options[:host] = 'localhost:4000'