2015-12-22 2 views
0

Я использую Rails 4 и Simple_Form для приложения, а для макета переднего конца, который я должен реализовать, мне нужно иметь тег ввода внутри тега метки. Вывод должен выглядеть следующим образом:Вложенная внутренняя метка гнезда с Simple_Form и Rails 4

<label class="input string optional profile_first_name"> 
    <input class="string optional" type="text" value="" name="profile[first_name]" id="profile_first_name"> 
</label> 

Я попытался создать пользовательскую оболочку, которая выглядит следующим образом:

config.wrappers :custom_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b| 
    b.use :html5 
    b.use :placeholder 
    b.optional :maxlength 
    b.optional :pattern 
    b.optional :min_max 
    b.optional :readonly 

    b.wrapper tag: 'label' do |ba| 
    ba.use :input 
    ba.use :error, wrap_with: { tag: 'span', class: 'help-block' } 
    ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' } 
    end 
end 

Проблема Я бегу в том, что результирующий HTML отсутствует текст подписи, который Обычно генерируется Smart_Form. Я уверен, что должен быть способ правильно форматировать оболочку для отображения ввода внутри тега метки и для ярлыка, который все еще отображается, но я в недоумении. Заранее спасибо!

ответ

0

Вы должны уметь просто вставлять ba.use :label_text везде, где вы хотите, чтобы этикетки отображались.

b.wrapper tag: 'label' do |ba| 
    ba.use :label_text 
    ba.use :input 
    ba.use :error, wrap_with: { tag: 'span', class: 'help-block' } 
    ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' } 
end 
Смежные вопросы