我有用户表格。其中用户表有用户名和电子邮件地址,另一个用户配置文件表有 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%>