页面刷新后提交的数据消失

时间:2011-07-22 21:35:21

标签: ruby-on-rails

  

可能重复:
  Associated model is not saving data when page is refreshed

用户个人资料之间存在1:1关联。 当我提交新的个人资料表格时,我输入的数据显示得很好(见屏幕截图:http://i.imgur.com/fY8YU.png),但当我刷新数据时,数据会立即被删除。

有谁能告诉我是什么原因造成的?

这是提交表格:

  

<%= form_for([@ user,@ user.build_profile])do | f | %GT;    
<div class="field">
<%= f.label :first_name %><br />
<%= f.text_field :first_name %>
</div> <div class="field"> {{ {1}} <%= f.label :last_name %><br />
<%= f.text_field :last_name %>} </div>
<div class="field"> <%= f.label :picture %><br /> < br {> <%= f.text_field :picture %>
</div>
<div class="field">
<%= f.radio_button(:sex, "male") %>
<%= f.label(:sex, "Male") %>
{{{ 1}} <%= f.radio_button(:sex, "female") %>
<%= f.label(:sex, "Female") %>
</div>
<div class="actions"> <%= f.submit %>

这是users_controller:https://github.com/imjp/SuperModel/blob/master/app/controllers/users_controller.rb

这是profiles_controller:https://github.com/imjp/SuperModel/blob/master/app/controllers/profiles_controller.rb

1 个答案:

答案 0 :(得分:0)

基本上,它失败了因为:

  • 每次传递@user.build_profile都会实例化新的个人资料。

  • 旁注但我强烈建议您在创建用户后立即创建个人资料。

Look at my commit on your forked repository