在Rails应用程序中,我使用设计来管理我的用户和我的链接以销毁会话不再起作用.它正在工作,现在我已经添加了活动管理员,它没有.
我的链接是
<%= link_to "Déconnexion", destroy_user_session_path, :method => :delete, :class => 'button' %>
Run Code Online (Sandbox Code Playgroud)
我的routes.rb
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks"}
Run Code Online (Sandbox Code Playgroud)
我的佣金路线
destroy_user_session DELETE /users/sign_out(.:format)
Run Code Online (Sandbox Code Playgroud)
它试图打开视图/ users/sign_out,所以我有:
ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with id=sign_out
Run Code Online (Sandbox Code Playgroud)
Active_admin和Devise会崩溃吗?这将是奇怪的'因为积极使用设计,不是吗?
编辑:
对于将遇到此问题的下一个人,我通过将下一行添加到/config/initializers/devise.rb来解决它.
config.sign_out_via = :get
Run Code Online (Sandbox Code Playgroud)
不是最好的方式,但它完成了工作.
我正试图在64位上安装葡萄酒,所以我按照这个:http://wiki.winehq.org/WineOn64bit
当我启动configure时,我有这个错误:
"configure:error:在$ PATH中找不到可接受的C编译器"
但是gcc所说的地方:
"gcc:/ usr/lib/gcc"
我现在该怎么办?
我用 CakePHP3 启动了一个应用程序,我需要记录一些用户的操作。所以,我已经迁移了我的日志结构,我已经烘焙了我的控制器和模型,现在,我尝试在用户登录时获取日志。
我像这样更新了我的 UsersController:
namespace App\Controller;
use App\Controller\AppController;
use App\Model\Table\LogsTable;
use App\Model\Entity\User;
use App\Model\Entity\Log;
class UsersController extends AppController {
public function login(){
$this->viewBuilder()->layout('external');
$user = $this->Users->newEntity();
if($this->request->is('post')){
$user = $this->Auth->identify();
if($user){
//DOING : enregistrement valide$log = new Log();
$log->user_id = 1;
$log->action = 'lorem ipsum';
$log->target_user = 0;
$log->target_object = 0;
$log->comment = 'test';
$logs = new LogsTable();
$logs->save($log);
$this->Auth->setUser($user);
if($this->Auth->user('security') == 'admin'){
return $this->redirect(['action' => 'admin_index']);
}else{
return $this->redirect($this->Auth->redirectUrl());
}
}
//TODO : enregistrement faux
$this->Flash->error(__('Email or password …Run Code Online (Sandbox Code Playgroud)