2012-05-23 4 views
14

컬렉션 아이템 (예 : 번역물)에 라벨을 사용하고 싶습니다. simple_form 콜렉션 라벨

= simple_form_for(@client) do |f| 
    = f.error_notification 
    .form-inputs 
     = f.input :name, label: t('client.name') 
     = f.input :level, collection: ['a', 'b', 'c'], 
     label_method: ???? 
     label: t('client.level') 
    .form-actions 
     = f.button :submit, value: t('client.submit') 

나는 위의 label_method에 사용할 무엇을 알아 내려고 노력하고있다. map {|s| t("client.#{s}")}과 같이 번역에 매핑 할 label_method를 원합니다. 이미 라벨 방법이없는 경우

답변

41

, 당신은 당신이

label_method: ->(obj){ t("client.#{obj}") } 
+0

완벽한 원하는 결과를 얻기 위해 람다를 전달할 수 있습니다, 감사합니다! 내가 처음에 놓친 것을 지적 해 두는 것이 가치가있다 : 문자열 주위에 큰 따옴표 (''')로 바꾸어'# {obj} '대체를 할 것. –

+0

[각 콜렉션 요소 앞에 HTML 태그를 추가해야했다] (https://stackoverflow.com/questions/47758782/how-do-you-add-a-tag-before-each-radio-button-in-simple-form)이 솔루션은 나에게도 큰 도움이되었습니다. . –