2014-10-22 2 views
0

Простая форма генерирует по умолчанию идентификатор для входов в форме some this way id = "# {model_name} _ # {attr_name}".Rails simple_from: указать идентификатор модели во входном идентификаторе

Мне нужно включить идентификатор модели в этот идентификатор ввода, потому что у меня есть несколько форм моделей на одной странице (вложенные). Так идентификатор будет как идентификатор = "# {model_name} _ # {model_id} _ # {attr_name}"

К примеру

= simple_form_for([@site, supply]) do |f| 
    = f.input :name 
    ... 

Формирует форму, как это:

<form ... id="edit_supply_4"> 
    <input ... id="supply_name" ... > 

Но я необходимо:

<form ... id="edit_supply_4"> 
    <input ... id="supply_4_name" ... > 

Как это сделать?

ответ

1

Передача input_html хэш позволяет настраивать атрибуты ввода:

= simple_form_for([@site, supply]) do |f| 
    = f.input :name, :input_html => { 
    :id => "#{@site.model_name}_#{@site.id}_name" 
    } 
+0

могли бы вы добавлять пояснения к коду? – theMayer

+0

Конечно. Но я хочу избежать добавления идентификатора к каждому входу вручную. Может быть, есть способ исправить это глобально? –

+0

https://github.com/plataformatec/simple_form/wiki/Custom-inputs-examples – max

Смежные вопросы