Mikhail Grishko
Mikhail Grishko

Reputation: 4278

Change id in simple form

How change default id or class, which produce simple form:

= simple_form_for(@account, url: account_url, validate: true, wrapper: :inline, html: { method: :put }) do |f|

html:

<form accept-charset="UTF-8" action="http://mikhail.smackaho.st:3000/account" class="edit_account" data-validate="true" id="edit_account_4f15c0a487f4463d8d000004" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"><input name="_method" type="hidden" value="put"><input name="authenticity_token" type="hidden" value="BZFZUGlbZU2ILGR/fdMW5QWNdDgWNPvGpZR13LFwhmw="></div>

      <div class="inputs">
        <div class="clearfix string required"><label class="string required  " for="account_company_name">Company name <abbr title="required">*</abbr></label><div class="input"><input autofocus="autofocus" class="string required " data-validate="true" id="account_company_name" name="account[company_name]" size="50" type="text" value="mikhail"></div></div>
        <div class="actions">
        <input class="btn primary" name="commit" type="submit" value="Update">
        <button class="btn" name="button" type="reset">Cancel</button>
      </div>
    </form>

Account - single resource. I want to have id like edit_account without id_hash

Upvotes: 35

Views: 27467

Answers (2)

Michał Czapko
Michał Czapko

Reputation: 1938

Specify the id within the html option:

= simple_form_for @account, url: account_url, wrapper: :inline, html: { method: :put, id: :edit_account } do |f|

Upvotes: 60

Obromios
Obromios

Reputation: 16373

The question is ambiguous, so note that if you are trying to change the id of an element in the form rather than the id of the whole form, then you should use input_html: { id: :select_special }.

Upvotes: 8

Related Questions