0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

link_to_if

Posted at

link_to_ifとは?

与えられた条件がtrueならリンクにfalseならリンクにしないという振る舞いをするメソッド。

flat_mapを実際利用した場面

link_to_ifを使わない場合、下記のようなコードになっていた。冗長なのと、なんかダサい。

- if hoge.present?
  = link_to 'リンク', hoge_path
- else
  

link_to_ifを使った場合

= link_to_if hoge.present?, 'リンク', hoge_path do
  

とスリムにすることができた。
ただ今回の使い方をするのであれば

= hoge.present? ? link_to('リンク', hoge_path) : 'ー'

のように書けば一行で済んだのと、使うのであれば

# userが必ずいると仮定
= link_to_if user.active?, user.name, user_path(user)

のように、同じ文字列をリンクにするかしないかと言う条件に対して使うのが良さそう。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?