如何将html id添加到rails form_tag
我正在使用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 -%> 
 对于<element>_ _tag构造来说,您需要将html属性移动到: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>