2

我希望id我的输入是user[email]而不是user_email。但我尝试的一切都不起作用。

我正在为这些宝石使用最新版本的设计。

这是我的表格:

  <%= 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 => "your-email@address.com", :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="your-email@address.com" 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>

想法?

4

2 回答 2

2

ID 不能包含方括号,因此可能是 Rails 更改它的原因。

请参阅: HTML 中 id 属性的有效值是什么? 以及DOM ID 中允许使用哪些字符?

于 2012-06-12T21:38:00.280 回答
0

似乎我必须重新启动服务器才能反映 form_helper 更改。

工作也是如此:id => user[email]

于 2012-06-12T21:45:10.640 回答