2012-06-12 64 views
2

我希望我的輸入iduser[email]而不是user_email。但是我嘗試的一切都不起作用。如何在我的form_helper中強制輸入字段的ID?

我對這些寶石使用Devise的最新版本。

這是我的形式:

<%= form_for(resource, :as => resource_name, :class => "send-with-ajax", :url => user_registration_path(resource), :validate => true, :html => { :id => 'user_new' }) do |f| %> 
        <div class="six columns alpha"> 
     <%= f.text_field :email, :id => 'user[email]', :placeholder => "[email protected]", :input_html => {:autofocus => true}, :validate => true %> 
         </div>    
         <div class="three columns sign-up alpha"> 
     <%= f.submit :label => "Submit", :value => "Sign Me Up!" %> 
          <div class="ajax-response"><%= devise_error_messages! %></div> 
     </div> 
    <% end %> 

這是生成的HTML:

<form accept-charset="UTF-8" action="/users" class="formtastic user" data-validate="true" id="user_new" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="khstyw72jj44kkhaskdya3hkb3ba3lkxmw4=" /></div> 
         <div class="six columns alpha"> 
       <input data-validate="true" id="user_email" input_html="{:autofocus=&gt;true}" name="user[email]" placeholder="[email protected]" size="30" type="text" /> 
          </div>    
          <div class="three columns sign-up alpha"> 
       <input label="Submit" name="commit" type="submit" value="Sign Me Up!" /> 
           <div class="ajax-response"></div> 
       </div> 
</form> 

的思考?

+1

我認爲像你這樣指定id會覆蓋默認值,不要猜測。所以我不能幫你 - 但是想指出'input_html => {:autofocus => true}'不能像你期望的那樣工作。我傾向於使用這裏的默認導軌命名,在這個東西上打鐵可能會受到傷害。 – house9

+0

它是做什麼的?我如何強制本地重新加載?我拿出':input_html =>',它並不反映我何時刷新頁面。 – marcamillion

回答

0

看來我不得不重新啓動我的服務器,以獲得要反映form_helper變化。

因此:id => user[email]確實有效。

相關問題