在视图中设计解锁按钮

AGi*_*des 10 ruby ruby-on-rails devise

这可能很简单,我忽略了它.我正在使用设计可锁定功能,我想创建一个管理员可以检查以解锁锁定用户的按钮.

Devise有一个名为unlock_access的模型方法!.我试图在用户的控制器方法中使用视图中的按钮来调用它.

浏览次数:

= link_to('unlock', user_unlock_path(user), method: :post, class: 'button-xs') unless user == current_user
Run Code Online (Sandbox Code Playgroud)

users_controller.rb:

def unlock
  user = User.find(params[:id])
  user.unlock_access!
end
Run Code Online (Sandbox Code Playgroud)

路线

resources :users do
  post 'unlock'
end
Run Code Online (Sandbox Code Playgroud)

AGi*_*des 9

我想到了.

您必须更新路由以在成员上调用该方法.使用工作代码更新了视图和控制器.

路线

resources :users do
  post :unlock, :on => :member
end
Run Code Online (Sandbox Code Playgroud)

更新控制器

def unlock
  user = User.find(params[:id])
  user.unlock_access!
  redirect_to users_path
end
Run Code Online (Sandbox Code Playgroud)

更新的视图

= link_to(t('common.unlock'), unlock_user_path(user), method: :post, class: 'button-xs') unless user == current_user
Run Code Online (Sandbox Code Playgroud)