设计身份验证 - 自定义用户编辑

时间:2012-09-30 17:56:13

标签: ruby-on-rails devise

routes.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”变量。

重要提示:我希望保留编辑方法的默认行为,而不会覆盖它,也不会为其编写自己的代码。

0 个答案:

没有答案