2013-10-19 78 views
0

我有有顏色代碼像#FFFFFF一個數據庫表中的值,我希望能表現出active_admin在簡單的話值。需要值轉換爲名稱在activeadmin

例如,對於#FFFFFF,在字的值是「白」。在普通的導軌代碼中執行操作比較簡單,但在使用DSL的活動管理員中,我很困惑。

我已經嘗試了基本配置:

 row("Paper Color") { order.colorpaper } 

所出爲#FFFFFF的值從order.colorpaper模型(如果我選擇在我的前端「白」)。

但在我prints.rb模型爲好,有它的一個列表,在MY_COLORS連接在一起,通常採用粒錐在正常的軌道配置MY_COLORS調用。

 MY_COLORS = { 
    white:  '#ffffff', 
    green:  '#7bd148', 
    bold_blue: '#5484ed', 
    blue:  '#a4bdfc', 
    turquoise: '#46d6db', 
    light_green: '#7ae7bf', 
    bold_green: '#51b749', 
    yellow:  '#fbd75b', 
    orange:  '#ffb878', 
    red:   '#ff887c', 
    bold_red: '#dc2127', 
    purple:  '#dbadff', 
    gray:  '#e1e1e1' 
} 
+0

請出示你已經擁有或者你曾嘗試代碼。 – phoet

回答

0

我回答自己對我是怎麼做到的主動管理:

row "Cover Paper Color" do 
     if(order.covercolorpaperpages == '#ffffff') 
      "White" 
     elsif(order.covercolorpaperpages == '#7bd148') 
      "Green" 
     elsif(order.covercolorpaperpages == '#5484ed') 
      "Bold Blue" 
     elsif(order.covercolorpaperpages == '#a4bdfc') 
      "Blue" 
     elsif(order.covercolorpaperpages == '#46d6db') 
      "Turquoise" 
     elsif(order.covercolorpaperpages == '#51b749') 
      "Bold Green" 
     elsif(order.covercolorpaperpages == '#fbd75b') 
      "Yellow" 
     elsif(order.covercolorpaperpages == '#ffb878') 
      "Orange" 
     elsif(order.covercolorpaperpages == '#ff887c') 
     "Red" 
     elsif(order.covercolorpaperpages == '#dc2127') 
      "Bold Red" 
     elsif(order.covercolorpaperpages == '#dbadff') 
      "Purple" 
     elsif(order.covercolorpaperpages == '#e1e1e1') 
      "Gray" 
     else 
      "None" 
     end