1

我使用设计作为身份验证系统,我想创建单独的页面来更改密码和电子邮件地址。

我应该创建像update_passwordand之类的其他操作,还是使用可以同时接受密码和电子邮件update_email的单个操作会更好?update

4

1 回答 1

1

我想创建新动作并没有真正的优势。根据我从那本书中的记忆,如果可以的话,你应该坚持 7 个经典动作(索引/显示/新建/编辑/创建/更新/删除),以保持一切 RESTFul。

无论如何,这个动作可能会做同样的事情。

一个经典的更新是:

def update
  user = User.find(params[:id]).update_attributes! params[:user]
end

最终的 update_password 和 update_email 可能看起来像这样

def update_email
  user = User.find(params[:id]).update_attributes! email: params[:user][:email]
end

def update_password
  user = User.find(params[:id]).update_attributes! password: params[:user][:password]
end

当使用单个操作(更新操作)时,唯一的最终问题是用户可以通过change email表单通过更改页面上的 html 来更新其密码。我不认为这是一个问题,因为用户无论如何都可以更改他的密码。

所以我会坚持经典的更新方法。

如果我错过了您的观点,请告诉我;)

于 2012-10-01T18:37:28.280 回答