1

Rails 3.2.8 を使用して、ユーザーがサインインおよびサインアウトし、プロファイルを変更できるアプリケーションを作成しました。has_secure_password を使用しています。

ただし、管理者がプロファイルの一部を変更できるようにする必要があります。明らかに、管理者はユーザーのパスワードを知りません。

パスワードを変更せずに、変更したユーザー プロファイルを保存するにはどうすればよいですか? 管理者だけがこの機能を持っています。

4

3 に答える 3

0

私は最終的にこれを解決しました。フォームを表示するときに、パスワードと確認を特定の値(GUID)に設定することになりました。保存時に、コントローラーは、フィールドがそのGUIDと一致する場合、パラメーターからフィールドを削除します。次に、モデルは、フィールドが存在する場合にのみpassword_digestを検証(および保存)します。

于 2012-09-15T20:46:41.090 に答える
0

'ActiveAdmin'を使用してみてください。

詳細を説明するRailscastは次のとおりですhttp://railscasts.com/episodes/284-active-admin

于 2012-09-14T13:54:02.680 に答える
0

current_user メソッドを作成したと仮定します。

ユーザーコントローラー

before_filter :authorize!, only: [:edit, :update]

def edit

end

def update

end

private
def authorize!
  @user = User.find(params[:id])
  redirect_to root_url(status: :unauthorized) unless current_user && (current_user.eql?(@user) || current_user.role.eql?("admin"))
end
于 2012-09-14T15:18:57.450 に答える