2014-09-04 54 views
0

我有以下代碼:simple_form添加標籤集合單選按鈕

<%= f.collection_radio_buttons :access_type_id, AccessType.all, :id, :name, group_label_method: 'Access type' %> 

,這讓我:使用以下HTML

enter image description here

<fieldset> 
... 
    <span> 
    <label for="log_file_access_type_id_1" name="log_file[access_type_id]"> 
     <input id="log_file_access_type_id_1" name="log_file[access_type_id]" type="radio" value="1"> 
     <label class="collection_radio_buttons" for="log_file_access_type_id_1"> 
     public 
     </label> 
    </label> 
    </span> 
    <span> 
    <label for="log_file_access_type_id_2" name="log_file[access_type_id]"> 
     <input id="log_file_access_type_id_2" name="log_file[access_type_id]" type="radio" value="2"> 
     <label class="collection_radio_buttons" for="log_file_access_type_id_2"> 
     protected 
     </label> 
    </label> 
    </span> 
    <span> 
    <label for="log_file_access_type_id_3" name="log_file[access_type_id]"> 
     <input id="log_file_access_type_id_3" name="log_file[access_type_id]" type="radio" value="3"> 
     <label class="collection_radio_buttons" for="log_file_access_type_id_3"> 
     private 
     </label> 
    </label> 
    </span> 
... 
</fieldset> 

我想要爲單選按鈕組添加label。我嘗試使用group_label_method: 'Access type',但沒有任何改變。

有沒有辦法使用simple_form方法添加這樣的標籤,或者我應該只添加爲純HTML?

回答

2

試試這個

簡單的形式http://rubydoc.info/github/plataformatec/simple_form/SimpleForm/FormBuilder:collection_radio_buttons

collection_radio_buttons(:access_type_id, AccessType.all, :id, :name_with_initial) do |b| 
    b.label(:"data-value" => b.value) { b.radio_button + b.text } 
end 
+0

我得到'未定義的方法'name_with_initial」爲#<接入類型:0x00000006298f28>' – gotqn 2014-09-04 11:45:02

+0

@gotqn那是因爲這不是可調用的方法你' AccessType'模型。你可以使用':name'。這段代碼是從'collection_radio_buttons'的文檔中複製而來的。 – engineersmnky 2014-09-04 13:21:55

+0

你把這個放在haml中? – Ashbury 2015-06-07 10:25:04