Review

@st0012 可以麻煩你貼實際上線運作的網址上來嗎？並且簡單介紹一下。

cc/ @abookyun @dora0825 也幫忙看一下，感謝。
這邊很多都會用到 `where(show: true)`，可以考慮把它 refactor 成為 scope，變成 `Banner.published` or `Banner.shown` 之類的方式。