ルート.rb:
devise_for :users, :controllers => {
:registrations => 'users',
:sessions => 'sessions',
:confirmations => 'confirmations',
:passwords => 'passwords'
}
「編集」アクションのビュー:
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
<%= resource.inspect %>
resource.inspectは、すべてのユーザーのフィールドをnilとして表示します。
コントローラ:
def edit
resource = params[:id].nil? ? current_user : User.find_by_id(params[:id])
end
これを機能させるには、「resource ="」の代わりに何を入力しますか?ビューをデフォルトの「resource」変数と「resource_name」変数のままにしておく必要があります。
重要:editメソッドをオーバーライドしたり、独自のコードを記述したりせずに、editメソッドのデフォルトの動作を維持したいと思います。