如何从显示此消息更改为将用户注销并将其重定向到身份验证页面?从这个主题的其他主题,我明白Devise SessionsController必须改变,但我不明白如何将这些例子应用到我的这个控制器甚至位于哪里?
我正在开发一款应用,我有一个User
型号和一个Page
型号,就像在Facebook上一样。这两个模型都添加了Devise。当我在用户帐户下登录并尝试创建页面时,我会收到“您已登录”消息,并且日志显示为Filter chain halted as :require_no_authentication rendered or redirected
。当登录用户尝试创建页面时,我想要发生的是重定向到页面,此用户可以重新登录并通过这样做确认他希望在他的帐户下使用此页面,或者创建一个整体不同电子邮件下的新帐户,只管理此新页面。
为页面创建方法
class PagesController < ApplicationController
before_action :set_page, only: [:show, :edit, :update, :destroy]
def index
@pages = Page.all
end
def show
end
def new
@page = Page.new
end
def edit
end
def create
@page = Page.new(page_params)
respond_to do |format|
if @page.save
format.html { redirect_to @page, notice: 'Page was successfully created.'
}
format.json { render action: 'show', status: :created, location: @page }
else
format.html { render action: 'new' }
format.json { render json: @page.errors, status: :unprocessable_entity }
end
end
end
页面模型
class Page < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :likes
has_many :users, :through => :likes
has_many :events
end
用户模型
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :likes
has_many :pages, :through => :likes
end