【发布时间】:2013-01-19 10:01:13
【问题描述】:
我有一个包含三种不同类型字段的用户模型,我希望它们能够相互独立地更新
同一页面有 3 种不同的表单作用于同一模型:
更改用户头像
更改用户名/电子邮件
更改用户密码
他们分开的原因: 照片在被选中时会自动上传(无需密码), 无需密码即可更改姓名/电子邮件,但需要提交表格, 密码需要当前密码才能更改。
目前在 User#update 中,我有一系列 if/else 逻辑分支:if params[:commit] == "Update Password" 我更新密码,elsif params[:commit] == "Update Info" 我更新他们的姓名/电子邮件等。
我不喜欢逻辑需要多长时间,而且我不认为将控制器逻辑绑定到视图中是好的做法(因为逻辑基于提交按钮上出现的 params[:commit] 文本) .
有没有更好的方法来做到这一点?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3