条件によって表示するcssを変更しようとした時にハマりどころがあったので備忘録がてらメモ。
最初(if文の挙動を確認)
コード
<% if user.id == params[:id] %>
hoge
<% else %>
hogehoge
<% end %>
出力
hogehoge
※ちなみに
<%= user.id %>
<%= params[:id]%>
上記の出力は同じ数字。
この条件式の書き方がどうも良くないらしい。
#対処 : find_byメソッドを使う
コード
<% if user.id == User.find_by(id: params[:id]).id %>
hoge
<% else %>
hogehoge
<% end %>
出力
hoge
#class分岐に応用
class分岐のためには以下のように書いた。
<div class="<%= "fizzbuzz" if user.id == User.find_by(id: params[:id]).id %>">
なんとかこれで動作することは確認できました。