オブジェクトがnilの時NoMethodErrorが返ってくるので、nilチェックが必要になる。その対応にActiveSupportのtryを使うと便利です。
hoge_name = hoge ? hoge.name : 'hoge'
# try使うと
hoge_name = hoge.try(:name) || 'hoge'
@hoge = Hoge.all
hoge_id = @hoge.id if @hoge
# try使うと
hoge_id = @hoge.try(:id)
# view(slim)の場合
div
= "名前: #{@hoge.name unless @hoge.nil?}"
# try使うと
div
= "名前: #{@user.try(:name)}"
引数も使えるみたいです。