developer tip

레일스 form_tag에 html ID를 추가하는 방법

copycodes 2020. 10. 19. 08:12
반응형

레일스 form_tag에 html ID를 추가하는 방법


Rails 2.2.2를 사용하고 있으며 form_tag에서 생성 한 html 양식 코드에 ID를 추가하고 싶습니다.

<% form_tag session_path do -%>      
<% end -%>

현재 생산 :

<form action="/session" method="post">
</form>

다음을 생성 하시겠습니까?

<form id="login_form" action="/session" method="post">
</form>

API는 정말 어떤 도움이되지 내가의 다양한 조합을 추가하려고했습니다

:html => {:id => 'login_form'}

운이 없다.


를 들어 <element>_tag사용자가 지정하는 다음과 같은 HTML 직접 속성 :

<% form_tag session_path, :id => 'elm_id', :class => 'elm_class',
                          :style => 'elm_style' do -%>
   ...
<% end -%>

지도 내에서 HTML 속성을 이동해야하는 구성을 위한 것입니다 .<element>_remote_tag:html

<% form_tag form_remote_tag :url => session_path, :html => {
                            :id => 'elm_id', :class => 'elm_class',
                            :style => 'elm_style' } do -%>
   ...
<% end -%>

이 코드

form_tag(:controller => "people", :action => "search", :method => "get", :class => "nifty_form")

결과로 제공 :

<form accept-charset="UTF-8" action="/people/search?method=get&class=nifty_form" method="post">

하지만이 구조를 사용하면

form_tag({:controller => "people", :action => "search"}, :method => "get", :class => "nifty_form")

결과적으로 얻을 것이다

<form accept-charset="UTF-8" action="/people/search" method="get" class="nifty_form">

그리고 그것은 정확히 당신이 원하는 것입니다


<% form_tag 'session_path', :id => 'asdf' do -%>      
<% end -%>

생성

   <form action="session_path" id="asdf" method="post"><div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="ed5c62c836d9ba47bb6f74b60e70280924f49b06" /></div>
   </form>

제 경우에는 다음과 같이 {}실제로 추가 id하기 위해 HTML 옵션을 넣어야 form_tag했습니다.

<%= form_tag(some_update_path(@some_record), { method: :put, id: "some-id" }) do <% end %>

참고 URL : https://stackoverflow.com/questions/618948/how-to-add-html-id-to-rails-form-tag

반응형