認証システムとしてdeviseを使用しており、パスワードとメールアドレスを変更するための個別のページを作成したいと考えています。
update_password
やのような追加のアクションを作成する必要がありますか?それとも、パスワードと電子メールの両方を受け入れることができるupdate_email
単一のアクションを使用する方がよいでしょうか?update
認証システムとしてdeviseを使用しており、パスワードとメールアドレスを変更するための個別のページを作成したいと考えています。
update_password
やのような追加のアクションを作成する必要がありますか?それとも、パスワードと電子メールの両方を受け入れることができるupdate_email
単一のアクションを使用する方がよいでしょうか?update
新しいアクションを作成することに実際の利点はないと思います。そして、その本から私が覚えていることから、すべてを RESTFul に保つために、可能であれば 7 つの古典的なアクション (index / show / new / edit / create / update / delete) に固執する必要があります。
とにかく、アクションはおそらく同じことをするでしょう。
古典的な更新は次のようになります。
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 を変更することにより、ユーザーがフォームを介してパスワードを更新できることです。とにかくユーザーは自分のパスワードを変更できるので、これは問題ではないと思います。
したがって、私は古典的な更新方法に固執します。
私があなたのポイントを逃した場合は、私に知らせてください;)