三項演算子について
例①
@article.state = @article.publishable? ? :published : :publish_wait
↑の書き方は三項演算子というもの。
条件 ? 結果1 : 結果2
これは以下のように書き換えられる。
if 条件 結果1 else 結果2 end
つまり、例1は以下と同じ意味
(@article.state = @article.publishable?) ? (:published) : (:publish_wait)
↓
if @article.state = @article.publishable? :published else :publish_wait
※参考にしたサイト