2013-10-19 4 views
0

데이터베이스 테이블 내에 #ffffff와 같은 색상 코드가있는 값이 있으며 active_admin에 값을 간단한 단어로 표시하려고합니다.activeadmin에서 이름으로 값을 변환해야합니다.

예를 들어 #ffffff의 경우 단어의 값은 "흰색"입니다. 일반 레일 코드에서하는 것이 더 간단하지만 DSL을 사용하는 활성 관리자에서는 혼란 스럽습니다. order.colorpaper 모델에서 (내가 내 프론트 엔드에서 "흰색"을 선택한 경우)

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

#FFFFFF의 값으로 나온다 :

나는 기본 구성을 시도했다.

그러나 내 prints.rb 모델에도 일반적으로 일반 레일 구성에서 Prints :: 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 
관련 문제