登録にdeviseを使用し、役割にrolifyを使用するレールアプリがあります。管理者がアクセスできる各ユーザーの編集リンクを含むインデックス ページが必要です。この編集ページも、パスワードを使用しなくても機能するはずです。現在、edit_user_path は現在のユーザーの編集ページに移動しますが、これは私が望むものではありません。
この種の状況を実装する最良の方法は何ですか? 私はこれについてここでいくつかの投稿を読みましたが、私が望むものを私に与えるものはないようです.
正しい方向に向けてください!
編集 済みこのようにしようとしていますが、まだ「現在のパスワードを空白にすることはできません」というエラーが発生します
def update
@user = User.find(params[:id])
if params[:user][:password].blank?
params[:user].delete(:password)
params[:user].delete(:password_confirmation)
end
if @user.update_attributes(user_params)
redirect_to users_path, :notice => "User updated."
else
redirect_to users_path, :alert => "Unable to update user."
end
end
そして、私の見解では、次のフォームをレンダリングしている edit.html.erb ファイルがあります。
<div class="panel-body">
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
<%= devise_error_messages! %>
<div class="form-group">
<%= f.label :email %>
<%= f.email_field :email, class: "form-control", :autofocus => true %>
</div>
<div class="form-group">
<%= f.label :username %>
<%= f.text_field :username, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :firstname %>
<%= f.text_field :firstname, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :lastname %>
<%= f.text_field :lastname, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :city %>
<%= f.text_field :city, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :zip %>
<%= f.text_field :zip, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :state %>
<%= f.text_field :state, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :country %>
<%= f.text_field :country, class: "form-control" %>
</div>
<div class="form-group">
<%= f.submit "Update", class: "btn btn-primary" %>
</div>
<% end %>
</div>
最後に、routes.rb ファイルに、編集ページをレンダリングするための次の行があります。編集ページを表示することはできますが、情報を入力して更新をクリックすると、「現在のパスワードを空白にすることはできません」というエラーが表示されて /users に移動します
get 'pressroom/accounts/:id/edit' => 'users#edit', :as => :admin_edit_user