2

ルート.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メソッドのデフォルトの動作を維持したいと思います。

4

0 に答える 0