Rails
slim
googlem

メモ:rails/slimでgoogle mapにlink_toする書き方

この記事は

個人メモです

やりたいこと

  • ViewにslimつかったRailsからlink_toでgoogle mapのMaps URLsを開きたかったです
  • これ使うと、いろんなスマホからいい感じにGoogleMapsアプリ開いたりブラウザ内地図開いたりできます

やってみると

  • ふつうこうかきますよね
= link_to '地図アプリで開く', "https://www.google.com/maps/search/?api=1&query=#{latitude}%2C#{longitude}", class: 'button'
  • こうすると、GETパラメータを示す ? がエスケープされて、 & になってしまいます
  • これがPCからならブラウザが適当に解釈してくれて大丈夫なんですが、スマホからGoogleMapsアプリへの橋渡しみたいなことをやると「サポートされていないリンク」とかいうエラーがでて使えないです

で、

  • こんな感じで html_safe ってつけるとうまく行きましたっていう
= link_to '地図アプリで開く', "https://www.google.com/maps/search/?api=1&query=#{latitude}%2C#{longitude}".html_safe, class: 'button'
  • ちなみに#{{xxx}}とか==みたいな書き方はlink_toとはうまくいかない

終わりに

  • やっぱ、slimだpugだってテンプレートエンジンは好きになれない。。