验证表单字段值的嵌套属性已清除

时间:2012-09-06 07:52:07

标签: attributes nested nested-attributes formfield

我有用户的形式。用户表有用户名和电子邮件地址,另一个用户档案表有user_id,location等。 我使用下面的表格

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

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

<%= 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%>

0 个答案:

没有答案