LoginSignup
1
2

More than 3 years have passed since last update.

【Rails】投稿したURLをリンク可能にする方法

Last updated at Posted at 2021-03-22

投稿したURLをリンクにしたい!!!

結論からいうと、Gemをインストールすれば簡単に解決できます!

イメージが湧きやすいように実際の画像で説明します。

①このように製作した投稿機能からURLを投稿すると...
スクリーンショット 2021-03-22 18.01.19.png

↓↓↓↓↓↓

スクリーンショット 2021-03-22 18.14.27.png

②このような感じでリンクが押せない状態で投稿されてしまう。

rinku というGemをインストールすれば問題は解決できる。

③Gemfileにrinkuを追加。

gem 'rinku'
bundle install

これでrinkuをインストールできました。

viewのコードをrinkuに対応した形式に書き換える。

④erbファイルを、rinkuに対応したコードに書き換えます。

<%= post.link %>

↓↓↓↓↓

<%= Rinku.auto_link(post.link, :all, 'target="_blank"').html_safe %>

これだけでリンクとして反映されています。

ただこれだけだと、もしもリンクを投稿しない場合、「データがnilですよ」というエラーが発生する可能性があります。
そんな時はlinkの投稿フォームにあらかじめバリデーションをかけておくか、

<% if post.link.nil? %>
  <%= post.link %>
<% else %>
  <%= Rinku.auto_link(post.link, :all, 'target="_blank"').html_safe %>
<% end %>

...と、if文でlinkというカラムにデータが存在するか否かを条件分岐してあげれば解決できます。
ちなみに、'target="_blank"'があると外部リンク、無いと内部リンクになるようです。

スクリーンショット 2021-03-22 18.35.10.png

確認してみると、このようにリンクといえばお馴染みの青色が着色されました。
リンクを押せば、外部のサイトにも飛べるようになるはずです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2