Ruby on Rails5の asset_url の挙動について
いつもお世話になっております。
現在、Ruby on Rails(5.0.6)にて、iOSアプリとServer間のAPI機能を提供する実装をしております。
assets内にある画像ファイルのURLをAPI経由で返却したいと思っております。
ディレクトリ構成は下記です。
assets
|- images
|- image1.png
|- image2.png
ここで、 asset_url
を使って、assets内のURLを取得したいと思っているのですが、controllerで使った場合と、viewで使った場合で、URLの挙動が違うようで、困っております。
下記がコードになります。
test_controller.rb
class TestController
include ActionView::Helpers::AssetUrlHelper
def index
@image = asset_url('image1')
end
end
index.json.jbuilder
json.image1 @image
json.image2 asset_url('image1')
こちらで実行をした際に、下記のような結果となりました。
{
"image1"=>"http://www.example.com/image1",
"image2"=>"http://www.example.com/assets/image1-xxxx.png"
}
viewの方に設定したものをブラウザで確認すると、正常に画像が表示されるのですが、controllerで設定されたURLだと画像が確認出来ません。
これをcontrollerでもちゃんとアセットパイプラインに乗った形で表示をさせる方法をご存知の方がいらっしゃいましたら、ご教授頂けますと幸いでございます。
よろしくお願いいたします。