0

我有用户表格。其中用户表有用户名和电子邮件地址,另一个用户配置文件表有 user_id、位置等。我使用下面的表格

我已经完成了用户 email_Addreess 唯一性的验证。如果发生验证,那么我会渲染到同一页面。

我的问题是,如果验证发生并将城市字段中的值呈现到同一页面,位置值字段被清除。但值仍保留在其他字段中。请尽快回复我

<%= form_for @user_usr, :url => { :action => "provider_submit" } do |f| %>
<%=params.inspect%>
  <% @user_usr.build_user_profile_pfl%>
  <% if @user_usr.errors.any? %>
    <div id="error_explanation">
      <ul>
        <% @user_usr.errors.each_with_index do |msg, i| %>
          <!--for valdiation -->
          <li><%= msg[1] %></li>
        <% end %>
      </ul>
    </div>
  <% end %>
  username<%= f.text_field :username_usr,:id=>"p_name",:name=>"p_name", :class=>"lt textbox_provider",:maxlength => 50,:style=>"outline: none;",:onclick =>"focusChangeBorderColor('p_name');",:onblur=>"blurChangeBorderColor('p_name')",:onchange=>"removeunwantedSpace(this.value)", :tabindex => '1'%>
  email<%= f.text_field :email_usr,:id=>"p_email",:name=>"p_email", :class=>"lt textbox_provider",:maxlength => 50,:style=>"outline: none;",:onclick =>"focusChangeBorderColor('p_email');",:onblur=>"blurChangeBorderColor('p_email')",:onchange=>"removeunwantedSpace(this.value)", :tabindex => '2'%>


  <%= f.fields_for :user_profile_pfl do |builder| %>
    City <%= builder.text_field :city,:id=>"b_name",:name=>"b_name", :class=>"lt textbox_provider",:maxlength => 50,:style=>"outline: none;",:onclick =>"focusChangeBorderColor('b_name');",:onblur=>"blurChangeBorderColor('b_name')",:onchange=>"removeunwantedSpace(this.value)", :tabindex => '2'%>
  <%end%>
  <p><%= f.submit "Submit" %></p>
<%end%>
4

0 回答 0