管理员无需密码即可更新用户详细信息。 Rails 3.x设计

时间:2012-09-25 03:23:05

标签: ruby-on-rails-3 devise

我想创建一个批准用户注册的链接

1)第一个解决方案

<%= link_to "Approve", edit_user_registration_path(:id => user.id, :approved => true), :method => :put  %>

然而它会退回No route matches [PUT] "/users/edit"

2)此外,我正在考虑一个额外的操作,它将响应特定路线并更新用户注册,例如

match '/users/approve_user', :controller => 'users', :action => 'approve_user', :collection => { :my_action => :put}
并在视图中:

%- link_to "Approve", users_approve_user_path(:id => user.id), :method => :put

但是,它会回复Couldn't find User with ID=approve_user

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我认为你应该使用设计自定义路由

这是直接来自设计文档(https://github.com/plataformatec/devise),配置路径

devise_scope :user do
  get "sign_in", :to => "devise/sessions#new"
end

所以在你的情况下尝试类似

的东西
devise_scope :user do
  post "Approve", :to => "users/approve_user"
end

请注意,默认设备用户控制器名称空间'devise'。