我想创建一个批准用户注册的链接
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
任何帮助将不胜感激
答案 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'。