[Rails]製作下拉式選單集合

| Comments

目前的狀況是這樣子的,目前是有做CMS所以需要有

# Public(公開)
# Private(私人)
# Draft(草稿)

這三種,不過這個集合可以用類似jeffp/enumerated_attribute的gem配合或者是說用twinslash/enumerize,不過我更懶,我直接把data丟到collection裡面就好了,因為其他地方是用不大到的~

#view/articles/_form.html.erb 
<%= f.input :post_status, :collection => ["public", "private", "draft"]%>

因為我使用的是plataformatec/simple_form的關係,所以他自動幫我產生一個select的下拉式選單,應該是長這樣子

但是如果是需要多國語系的話

#view/articles/_form.html.erb 
<%= f.input :post_status, :collection => [[t(".public"),"public"], [t(".private"), "private"], [t(".draft"), "draft"]]%>

再來就是新增你的i18n的語系檔,我個人的習慣是另外新增一個檔案,我目前的controller叫做articles所以我建立一個i18n的中文yml檔時就會是這樣子

# config/locales/articles.zh-TW.yml
zh-TW:
    articles:
      form:
        public: 公開
        private: 私人
        draft: 草稿

然後要記得重啟server 就會成功了

Comments